Coverage Report

Created: 2026-08-17 06:12

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/open5gs/lib/sbi/openapi/model/tmgi_range.c
Line
Count
Source
1
2
#include <stdlib.h>
3
#include <string.h>
4
#include <stdio.h>
5
#include "tmgi_range.h"
6
7
OpenAPI_tmgi_range_t *OpenAPI_tmgi_range_create(
8
    char *mbs_service_id_start,
9
    char *mbs_service_id_end,
10
    OpenAPI_plmn_id_t *plmn_id,
11
    char *nid
12
)
13
0
{
14
0
    OpenAPI_tmgi_range_t *tmgi_range_local_var = ogs_malloc(sizeof(OpenAPI_tmgi_range_t));
15
0
    ogs_assert(tmgi_range_local_var);
16
17
0
    tmgi_range_local_var->mbs_service_id_start = mbs_service_id_start;
18
0
    tmgi_range_local_var->mbs_service_id_end = mbs_service_id_end;
19
0
    tmgi_range_local_var->plmn_id = plmn_id;
20
0
    tmgi_range_local_var->nid = nid;
21
22
0
    return tmgi_range_local_var;
23
0
}
24
25
void OpenAPI_tmgi_range_free(OpenAPI_tmgi_range_t *tmgi_range)
26
2.33k
{
27
2.33k
    OpenAPI_lnode_t *node = NULL;
28
29
2.33k
    if (NULL == tmgi_range) {
30
2.33k
        return;
31
2.33k
    }
32
0
    if (tmgi_range->mbs_service_id_start) {
33
0
        ogs_free(tmgi_range->mbs_service_id_start);
34
0
        tmgi_range->mbs_service_id_start = NULL;
35
0
    }
36
0
    if (tmgi_range->mbs_service_id_end) {
37
0
        ogs_free(tmgi_range->mbs_service_id_end);
38
0
        tmgi_range->mbs_service_id_end = NULL;
39
0
    }
40
0
    if (tmgi_range->plmn_id) {
41
0
        OpenAPI_plmn_id_free(tmgi_range->plmn_id);
42
0
        tmgi_range->plmn_id = NULL;
43
0
    }
44
0
    if (tmgi_range->nid) {
45
0
        ogs_free(tmgi_range->nid);
46
0
        tmgi_range->nid = NULL;
47
0
    }
48
0
    ogs_free(tmgi_range);
49
0
}
50
51
cJSON *OpenAPI_tmgi_range_convertToJSON(OpenAPI_tmgi_range_t *tmgi_range)
52
0
{
53
0
    cJSON *item = NULL;
54
0
    OpenAPI_lnode_t *node = NULL;
55
56
0
    if (tmgi_range == NULL) {
57
0
        ogs_error("OpenAPI_tmgi_range_convertToJSON() failed [TmgiRange]");
58
0
        return NULL;
59
0
    }
60
61
0
    item = cJSON_CreateObject();
62
0
    if (!tmgi_range->mbs_service_id_start) {
63
0
        ogs_error("OpenAPI_tmgi_range_convertToJSON() failed [mbs_service_id_start]");
64
0
        return NULL;
65
0
    }
66
0
    if (cJSON_AddStringToObject(item, "mbsServiceIdStart", tmgi_range->mbs_service_id_start) == NULL) {
67
0
        ogs_error("OpenAPI_tmgi_range_convertToJSON() failed [mbs_service_id_start]");
68
0
        goto end;
69
0
    }
70
71
0
    if (!tmgi_range->mbs_service_id_end) {
72
0
        ogs_error("OpenAPI_tmgi_range_convertToJSON() failed [mbs_service_id_end]");
73
0
        return NULL;
74
0
    }
75
0
    if (cJSON_AddStringToObject(item, "mbsServiceIdEnd", tmgi_range->mbs_service_id_end) == NULL) {
76
0
        ogs_error("OpenAPI_tmgi_range_convertToJSON() failed [mbs_service_id_end]");
77
0
        goto end;
78
0
    }
79
80
0
    if (!tmgi_range->plmn_id) {
81
0
        ogs_error("OpenAPI_tmgi_range_convertToJSON() failed [plmn_id]");
82
0
        return NULL;
83
0
    }
84
0
    cJSON *plmn_id_local_JSON = OpenAPI_plmn_id_convertToJSON(tmgi_range->plmn_id);
85
0
    if (plmn_id_local_JSON == NULL) {
86
0
        ogs_error("OpenAPI_tmgi_range_convertToJSON() failed [plmn_id]");
87
0
        goto end;
88
0
    }
89
0
    cJSON_AddItemToObject(item, "plmnId", plmn_id_local_JSON);
90
0
    if (item->child == NULL) {
91
0
        ogs_error("OpenAPI_tmgi_range_convertToJSON() failed [plmn_id]");
92
0
        goto end;
93
0
    }
94
95
0
    if (tmgi_range->nid) {
96
0
    if (cJSON_AddStringToObject(item, "nid", tmgi_range->nid) == NULL) {
97
0
        ogs_error("OpenAPI_tmgi_range_convertToJSON() failed [nid]");
98
0
        goto end;
99
0
    }
100
0
    }
101
102
0
end:
103
0
    return item;
104
0
}
105
106
OpenAPI_tmgi_range_t *OpenAPI_tmgi_range_parseFromJSON(cJSON *tmgi_rangeJSON)
107
1.91k
{
108
1.91k
    OpenAPI_tmgi_range_t *tmgi_range_local_var = NULL;
109
1.91k
    OpenAPI_lnode_t *node = NULL;
110
1.91k
    cJSON *mbs_service_id_start = NULL;
111
1.91k
    cJSON *mbs_service_id_end = NULL;
112
1.91k
    cJSON *plmn_id = NULL;
113
1.91k
    OpenAPI_plmn_id_t *plmn_id_local_nonprim = NULL;
114
1.91k
    cJSON *nid = NULL;
115
1.91k
    mbs_service_id_start = cJSON_GetObjectItemCaseSensitive(tmgi_rangeJSON, "mbsServiceIdStart");
116
1.91k
    if (!mbs_service_id_start) {
117
1.04k
        ogs_error("OpenAPI_tmgi_range_parseFromJSON() failed [mbs_service_id_start]");
118
1.04k
        goto end;
119
1.04k
    }
120
867
    if (!cJSON_IsString(mbs_service_id_start)) {
121
196
        ogs_error("OpenAPI_tmgi_range_parseFromJSON() failed [mbs_service_id_start]");
122
196
        goto end;
123
196
    }
124
125
671
    mbs_service_id_end = cJSON_GetObjectItemCaseSensitive(tmgi_rangeJSON, "mbsServiceIdEnd");
126
671
    if (!mbs_service_id_end) {
127
213
        ogs_error("OpenAPI_tmgi_range_parseFromJSON() failed [mbs_service_id_end]");
128
213
        goto end;
129
213
    }
130
458
    if (!cJSON_IsString(mbs_service_id_end)) {
131
194
        ogs_error("OpenAPI_tmgi_range_parseFromJSON() failed [mbs_service_id_end]");
132
194
        goto end;
133
194
    }
134
135
264
    plmn_id = cJSON_GetObjectItemCaseSensitive(tmgi_rangeJSON, "plmnId");
136
264
    if (!plmn_id) {
137
198
        ogs_error("OpenAPI_tmgi_range_parseFromJSON() failed [plmn_id]");
138
198
        goto end;
139
198
    }
140
66
    plmn_id_local_nonprim = OpenAPI_plmn_id_parseFromJSON(plmn_id);
141
66
    if (!plmn_id_local_nonprim) {
142
66
        ogs_error("OpenAPI_plmn_id_parseFromJSON failed [plmn_id]");
143
66
        goto end;
144
66
    }
145
146
0
    nid = cJSON_GetObjectItemCaseSensitive(tmgi_rangeJSON, "nid");
147
0
    if (nid) {
148
0
    if (!cJSON_IsString(nid) && !cJSON_IsNull(nid)) {
149
0
        ogs_error("OpenAPI_tmgi_range_parseFromJSON() failed [nid]");
150
0
        goto end;
151
0
    }
152
0
    }
153
154
0
    tmgi_range_local_var = OpenAPI_tmgi_range_create (
155
0
        ogs_strdup(mbs_service_id_start->valuestring),
156
0
        ogs_strdup(mbs_service_id_end->valuestring),
157
0
        plmn_id_local_nonprim,
158
0
        nid && !cJSON_IsNull(nid) ? ogs_strdup(nid->valuestring) : NULL
159
0
    );
160
161
0
    return tmgi_range_local_var;
162
1.91k
end:
163
1.91k
    if (plmn_id_local_nonprim) {
164
0
        OpenAPI_plmn_id_free(plmn_id_local_nonprim);
165
0
        plmn_id_local_nonprim = NULL;
166
0
    }
167
1.91k
    return NULL;
168
0
}
169
170
OpenAPI_tmgi_range_t *OpenAPI_tmgi_range_copy(OpenAPI_tmgi_range_t *dst, OpenAPI_tmgi_range_t *src)
171
0
{
172
0
    cJSON *item = NULL;
173
0
    char *content = NULL;
174
175
0
    ogs_assert(src);
176
0
    item = OpenAPI_tmgi_range_convertToJSON(src);
177
0
    if (!item) {
178
0
        ogs_error("OpenAPI_tmgi_range_convertToJSON() failed");
179
0
        return NULL;
180
0
    }
181
182
0
    content = cJSON_Print(item);
183
0
    cJSON_Delete(item);
184
185
0
    if (!content) {
186
0
        ogs_error("cJSON_Print() failed");
187
0
        return NULL;
188
0
    }
189
190
0
    item = cJSON_Parse(content);
191
0
    ogs_free(content);
192
0
    if (!item) {
193
0
        ogs_error("cJSON_Parse() failed");
194
0
        return NULL;
195
0
    }
196
197
0
    OpenAPI_tmgi_range_free(dst);
198
0
    dst = OpenAPI_tmgi_range_parseFromJSON(item);
199
0
    cJSON_Delete(item);
200
201
0
    return dst;
202
0
}
203