Coverage Report

Created: 2026-11-12 06:28

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/open5gs/lib/sbi/openapi/model/adrf_info.c
Line
Count
Source
1
2
#include <stdlib.h>
3
#include <string.h>
4
#include <stdio.h>
5
#include "adrf_info.h"
6
7
OpenAPI_adrf_info_t *OpenAPI_adrf_info_create(
8
    bool is_ml_model_storage_ind,
9
    int ml_model_storage_ind,
10
    bool is_data_storage_ind,
11
    int data_storage_ind
12
)
13
1.36k
{
14
1.36k
    OpenAPI_adrf_info_t *adrf_info_local_var = ogs_malloc(sizeof(OpenAPI_adrf_info_t));
15
1.36k
    ogs_assert(adrf_info_local_var);
16
17
1.36k
    adrf_info_local_var->is_ml_model_storage_ind = is_ml_model_storage_ind;
18
1.36k
    adrf_info_local_var->ml_model_storage_ind = ml_model_storage_ind;
19
1.36k
    adrf_info_local_var->is_data_storage_ind = is_data_storage_ind;
20
1.36k
    adrf_info_local_var->data_storage_ind = data_storage_ind;
21
22
1.36k
    return adrf_info_local_var;
23
1.36k
}
24
25
void OpenAPI_adrf_info_free(OpenAPI_adrf_info_t *adrf_info)
26
2.81k
{
27
2.81k
    OpenAPI_lnode_t *node = NULL;
28
29
2.81k
    if (NULL == adrf_info) {
30
1.45k
        return;
31
1.45k
    }
32
1.36k
    ogs_free(adrf_info);
33
1.36k
}
34
35
cJSON *OpenAPI_adrf_info_convertToJSON(OpenAPI_adrf_info_t *adrf_info)
36
0
{
37
0
    cJSON *item = NULL;
38
0
    OpenAPI_lnode_t *node = NULL;
39
40
0
    if (adrf_info == NULL) {
41
0
        ogs_error("OpenAPI_adrf_info_convertToJSON() failed [AdrfInfo]");
42
0
        return NULL;
43
0
    }
44
45
0
    item = cJSON_CreateObject();
46
0
    if (adrf_info->is_ml_model_storage_ind) {
47
0
    if (cJSON_AddBoolToObject(item, "mlModelStorageInd", adrf_info->ml_model_storage_ind) == NULL) {
48
0
        ogs_error("OpenAPI_adrf_info_convertToJSON() failed [ml_model_storage_ind]");
49
0
        goto end;
50
0
    }
51
0
    }
52
53
0
    if (adrf_info->is_data_storage_ind) {
54
0
    if (cJSON_AddBoolToObject(item, "dataStorageInd", adrf_info->data_storage_ind) == NULL) {
55
0
        ogs_error("OpenAPI_adrf_info_convertToJSON() failed [data_storage_ind]");
56
0
        goto end;
57
0
    }
58
0
    }
59
60
0
end:
61
0
    return item;
62
0
}
63
64
OpenAPI_adrf_info_t *OpenAPI_adrf_info_parseFromJSON(cJSON *adrf_infoJSON)
65
1.75k
{
66
1.75k
    OpenAPI_adrf_info_t *adrf_info_local_var = NULL;
67
1.75k
    OpenAPI_lnode_t *node = NULL;
68
1.75k
    cJSON *ml_model_storage_ind = NULL;
69
1.75k
    cJSON *data_storage_ind = NULL;
70
1.75k
    ml_model_storage_ind = cJSON_GetObjectItemCaseSensitive(adrf_infoJSON, "mlModelStorageInd");
71
1.75k
    if (ml_model_storage_ind) {
72
388
    if (!cJSON_IsBool(ml_model_storage_ind)) {
73
194
        ogs_error("OpenAPI_adrf_info_parseFromJSON() failed [ml_model_storage_ind]");
74
194
        goto end;
75
194
    }
76
388
    }
77
78
1.55k
    data_storage_ind = cJSON_GetObjectItemCaseSensitive(adrf_infoJSON, "dataStorageInd");
79
1.55k
    if (data_storage_ind) {
80
260
    if (!cJSON_IsBool(data_storage_ind)) {
81
194
        ogs_error("OpenAPI_adrf_info_parseFromJSON() failed [data_storage_ind]");
82
194
        goto end;
83
194
    }
84
260
    }
85
86
1.36k
    adrf_info_local_var = OpenAPI_adrf_info_create (
87
1.36k
        ml_model_storage_ind ? true : false,
88
1.36k
        ml_model_storage_ind ? ml_model_storage_ind->valueint : 0,
89
1.36k
        data_storage_ind ? true : false,
90
1.36k
        data_storage_ind ? data_storage_ind->valueint : 0
91
1.36k
    );
92
93
1.36k
    return adrf_info_local_var;
94
388
end:
95
388
    return NULL;
96
1.55k
}
97
98
OpenAPI_adrf_info_t *OpenAPI_adrf_info_copy(OpenAPI_adrf_info_t *dst, OpenAPI_adrf_info_t *src)
99
0
{
100
0
    cJSON *item = NULL;
101
0
    char *content = NULL;
102
103
0
    ogs_assert(src);
104
0
    item = OpenAPI_adrf_info_convertToJSON(src);
105
0
    if (!item) {
106
0
        ogs_error("OpenAPI_adrf_info_convertToJSON() failed");
107
0
        return NULL;
108
0
    }
109
110
0
    content = cJSON_Print(item);
111
0
    cJSON_Delete(item);
112
113
0
    if (!content) {
114
0
        ogs_error("cJSON_Print() failed");
115
0
        return NULL;
116
0
    }
117
118
0
    item = cJSON_Parse(content);
119
0
    ogs_free(content);
120
0
    if (!item) {
121
0
        ogs_error("cJSON_Parse() failed");
122
0
        return NULL;
123
0
    }
124
125
0
    OpenAPI_adrf_info_free(dst);
126
0
    dst = OpenAPI_adrf_info_parseFromJSON(item);
127
0
    cJSON_Delete(item);
128
129
0
    return dst;
130
0
}
131