Coverage Report

Created: 2026-07-14 06:05

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/open5gs/lib/sbi/openapi/model/udm_info.c
Line
Count
Source
1
2
#include <stdlib.h>
3
#include <string.h>
4
#include <stdio.h>
5
#include "udm_info.h"
6
7
OpenAPI_udm_info_t *OpenAPI_udm_info_create(
8
    char *group_id,
9
    OpenAPI_list_t *supi_ranges,
10
    OpenAPI_list_t *gpsi_ranges,
11
    OpenAPI_list_t *external_group_identifiers_ranges,
12
    OpenAPI_list_t *routing_indicators,
13
    OpenAPI_list_t *internal_group_identifiers_ranges,
14
    OpenAPI_list_t *suci_infos,
15
    bool is_any_ue_udm_single_instance,
16
    int any_ue_udm_single_instance
17
)
18
6.75k
{
19
6.75k
    OpenAPI_udm_info_t *udm_info_local_var = ogs_malloc(sizeof(OpenAPI_udm_info_t));
20
6.75k
    ogs_assert(udm_info_local_var);
21
22
6.75k
    udm_info_local_var->group_id = group_id;
23
6.75k
    udm_info_local_var->supi_ranges = supi_ranges;
24
6.75k
    udm_info_local_var->gpsi_ranges = gpsi_ranges;
25
6.75k
    udm_info_local_var->external_group_identifiers_ranges = external_group_identifiers_ranges;
26
6.75k
    udm_info_local_var->routing_indicators = routing_indicators;
27
6.75k
    udm_info_local_var->internal_group_identifiers_ranges = internal_group_identifiers_ranges;
28
6.75k
    udm_info_local_var->suci_infos = suci_infos;
29
6.75k
    udm_info_local_var->is_any_ue_udm_single_instance = is_any_ue_udm_single_instance;
30
6.75k
    udm_info_local_var->any_ue_udm_single_instance = any_ue_udm_single_instance;
31
32
6.75k
    return udm_info_local_var;
33
6.75k
}
34
35
void OpenAPI_udm_info_free(OpenAPI_udm_info_t *udm_info)
36
11.1k
{
37
11.1k
    OpenAPI_lnode_t *node = NULL;
38
39
11.1k
    if (NULL == udm_info) {
40
4.39k
        return;
41
4.39k
    }
42
6.75k
    if (udm_info->group_id) {
43
204
        ogs_free(udm_info->group_id);
44
204
        udm_info->group_id = NULL;
45
204
    }
46
6.75k
    if (udm_info->supi_ranges) {
47
478
        OpenAPI_list_for_each(udm_info->supi_ranges, node) {
48
478
            OpenAPI_supi_range_free(node->data);
49
478
        }
50
436
        OpenAPI_list_free(udm_info->supi_ranges);
51
436
        udm_info->supi_ranges = NULL;
52
436
    }
53
6.75k
    if (udm_info->gpsi_ranges) {
54
511
        OpenAPI_list_for_each(udm_info->gpsi_ranges, node) {
55
411
            OpenAPI_identity_range_free(node->data);
56
411
        }
57
511
        OpenAPI_list_free(udm_info->gpsi_ranges);
58
511
        udm_info->gpsi_ranges = NULL;
59
511
    }
60
6.75k
    if (udm_info->external_group_identifiers_ranges) {
61
269
        OpenAPI_list_for_each(udm_info->external_group_identifiers_ranges, node) {
62
269
            OpenAPI_identity_range_free(node->data);
63
269
        }
64
175
        OpenAPI_list_free(udm_info->external_group_identifiers_ranges);
65
175
        udm_info->external_group_identifiers_ranges = NULL;
66
175
    }
67
6.75k
    if (udm_info->routing_indicators) {
68
396
        OpenAPI_list_for_each(udm_info->routing_indicators, node) {
69
342
            ogs_free(node->data);
70
342
        }
71
396
        OpenAPI_list_free(udm_info->routing_indicators);
72
396
        udm_info->routing_indicators = NULL;
73
396
    }
74
6.75k
    if (udm_info->internal_group_identifiers_ranges) {
75
701
        OpenAPI_list_for_each(udm_info->internal_group_identifiers_ranges, node) {
76
701
            OpenAPI_internal_group_id_range_free(node->data);
77
701
        }
78
188
        OpenAPI_list_free(udm_info->internal_group_identifiers_ranges);
79
188
        udm_info->internal_group_identifiers_ranges = NULL;
80
188
    }
81
6.75k
    if (udm_info->suci_infos) {
82
433
        OpenAPI_list_for_each(udm_info->suci_infos, node) {
83
433
            OpenAPI_suci_info_free(node->data);
84
433
        }
85
170
        OpenAPI_list_free(udm_info->suci_infos);
86
170
        udm_info->suci_infos = NULL;
87
170
    }
88
6.75k
    ogs_free(udm_info);
89
6.75k
}
90
91
cJSON *OpenAPI_udm_info_convertToJSON(OpenAPI_udm_info_t *udm_info)
92
0
{
93
0
    cJSON *item = NULL;
94
0
    OpenAPI_lnode_t *node = NULL;
95
96
0
    if (udm_info == NULL) {
97
0
        ogs_error("OpenAPI_udm_info_convertToJSON() failed [UdmInfo]");
98
0
        return NULL;
99
0
    }
100
101
0
    item = cJSON_CreateObject();
102
0
    if (udm_info->group_id) {
103
0
    if (cJSON_AddStringToObject(item, "groupId", udm_info->group_id) == NULL) {
104
0
        ogs_error("OpenAPI_udm_info_convertToJSON() failed [group_id]");
105
0
        goto end;
106
0
    }
107
0
    }
108
109
0
    if (udm_info->supi_ranges) {
110
0
    cJSON *supi_rangesList = cJSON_AddArrayToObject(item, "supiRanges");
111
0
    if (supi_rangesList == NULL) {
112
0
        ogs_error("OpenAPI_udm_info_convertToJSON() failed [supi_ranges]");
113
0
        goto end;
114
0
    }
115
0
    OpenAPI_list_for_each(udm_info->supi_ranges, node) {
116
0
        cJSON *itemLocal = OpenAPI_supi_range_convertToJSON(node->data);
117
0
        if (itemLocal == NULL) {
118
0
            ogs_error("OpenAPI_udm_info_convertToJSON() failed [supi_ranges]");
119
0
            goto end;
120
0
        }
121
0
        cJSON_AddItemToArray(supi_rangesList, itemLocal);
122
0
    }
123
0
    }
124
125
0
    if (udm_info->gpsi_ranges) {
126
0
    cJSON *gpsi_rangesList = cJSON_AddArrayToObject(item, "gpsiRanges");
127
0
    if (gpsi_rangesList == NULL) {
128
0
        ogs_error("OpenAPI_udm_info_convertToJSON() failed [gpsi_ranges]");
129
0
        goto end;
130
0
    }
131
0
    OpenAPI_list_for_each(udm_info->gpsi_ranges, node) {
132
0
        cJSON *itemLocal = OpenAPI_identity_range_convertToJSON(node->data);
133
0
        if (itemLocal == NULL) {
134
0
            ogs_error("OpenAPI_udm_info_convertToJSON() failed [gpsi_ranges]");
135
0
            goto end;
136
0
        }
137
0
        cJSON_AddItemToArray(gpsi_rangesList, itemLocal);
138
0
    }
139
0
    }
140
141
0
    if (udm_info->external_group_identifiers_ranges) {
142
0
    cJSON *external_group_identifiers_rangesList = cJSON_AddArrayToObject(item, "externalGroupIdentifiersRanges");
143
0
    if (external_group_identifiers_rangesList == NULL) {
144
0
        ogs_error("OpenAPI_udm_info_convertToJSON() failed [external_group_identifiers_ranges]");
145
0
        goto end;
146
0
    }
147
0
    OpenAPI_list_for_each(udm_info->external_group_identifiers_ranges, node) {
148
0
        cJSON *itemLocal = OpenAPI_identity_range_convertToJSON(node->data);
149
0
        if (itemLocal == NULL) {
150
0
            ogs_error("OpenAPI_udm_info_convertToJSON() failed [external_group_identifiers_ranges]");
151
0
            goto end;
152
0
        }
153
0
        cJSON_AddItemToArray(external_group_identifiers_rangesList, itemLocal);
154
0
    }
155
0
    }
156
157
0
    if (udm_info->routing_indicators) {
158
0
    cJSON *routing_indicatorsList = cJSON_AddArrayToObject(item, "routingIndicators");
159
0
    if (routing_indicatorsList == NULL) {
160
0
        ogs_error("OpenAPI_udm_info_convertToJSON() failed [routing_indicators]");
161
0
        goto end;
162
0
    }
163
0
    OpenAPI_list_for_each(udm_info->routing_indicators, node) {
164
0
        if (cJSON_AddStringToObject(routing_indicatorsList, "", (char*)node->data) == NULL) {
165
0
            ogs_error("OpenAPI_udm_info_convertToJSON() failed [routing_indicators]");
166
0
            goto end;
167
0
        }
168
0
    }
169
0
    }
170
171
0
    if (udm_info->internal_group_identifiers_ranges) {
172
0
    cJSON *internal_group_identifiers_rangesList = cJSON_AddArrayToObject(item, "internalGroupIdentifiersRanges");
173
0
    if (internal_group_identifiers_rangesList == NULL) {
174
0
        ogs_error("OpenAPI_udm_info_convertToJSON() failed [internal_group_identifiers_ranges]");
175
0
        goto end;
176
0
    }
177
0
    OpenAPI_list_for_each(udm_info->internal_group_identifiers_ranges, node) {
178
0
        cJSON *itemLocal = OpenAPI_internal_group_id_range_convertToJSON(node->data);
179
0
        if (itemLocal == NULL) {
180
0
            ogs_error("OpenAPI_udm_info_convertToJSON() failed [internal_group_identifiers_ranges]");
181
0
            goto end;
182
0
        }
183
0
        cJSON_AddItemToArray(internal_group_identifiers_rangesList, itemLocal);
184
0
    }
185
0
    }
186
187
0
    if (udm_info->suci_infos) {
188
0
    cJSON *suci_infosList = cJSON_AddArrayToObject(item, "suciInfos");
189
0
    if (suci_infosList == NULL) {
190
0
        ogs_error("OpenAPI_udm_info_convertToJSON() failed [suci_infos]");
191
0
        goto end;
192
0
    }
193
0
    OpenAPI_list_for_each(udm_info->suci_infos, node) {
194
0
        cJSON *itemLocal = OpenAPI_suci_info_convertToJSON(node->data);
195
0
        if (itemLocal == NULL) {
196
0
            ogs_error("OpenAPI_udm_info_convertToJSON() failed [suci_infos]");
197
0
            goto end;
198
0
        }
199
0
        cJSON_AddItemToArray(suci_infosList, itemLocal);
200
0
    }
201
0
    }
202
203
0
    if (udm_info->is_any_ue_udm_single_instance) {
204
0
    if (cJSON_AddBoolToObject(item, "anyUeUdmSingleInstance", udm_info->any_ue_udm_single_instance) == NULL) {
205
0
        ogs_error("OpenAPI_udm_info_convertToJSON() failed [any_ue_udm_single_instance]");
206
0
        goto end;
207
0
    }
208
0
    }
209
210
0
end:
211
0
    return item;
212
0
}
213
214
OpenAPI_udm_info_t *OpenAPI_udm_info_parseFromJSON(cJSON *udm_infoJSON)
215
10.6k
{
216
10.6k
    OpenAPI_udm_info_t *udm_info_local_var = NULL;
217
10.6k
    OpenAPI_lnode_t *node = NULL;
218
10.6k
    cJSON *group_id = NULL;
219
10.6k
    cJSON *supi_ranges = NULL;
220
10.6k
    OpenAPI_list_t *supi_rangesList = NULL;
221
10.6k
    cJSON *gpsi_ranges = NULL;
222
10.6k
    OpenAPI_list_t *gpsi_rangesList = NULL;
223
10.6k
    cJSON *external_group_identifiers_ranges = NULL;
224
10.6k
    OpenAPI_list_t *external_group_identifiers_rangesList = NULL;
225
10.6k
    cJSON *routing_indicators = NULL;
226
10.6k
    OpenAPI_list_t *routing_indicatorsList = NULL;
227
10.6k
    cJSON *internal_group_identifiers_ranges = NULL;
228
10.6k
    OpenAPI_list_t *internal_group_identifiers_rangesList = NULL;
229
10.6k
    cJSON *suci_infos = NULL;
230
10.6k
    OpenAPI_list_t *suci_infosList = NULL;
231
10.6k
    cJSON *any_ue_udm_single_instance = NULL;
232
10.6k
    group_id = cJSON_GetObjectItemCaseSensitive(udm_infoJSON, "groupId");
233
10.6k
    if (group_id) {
234
742
    if (!cJSON_IsString(group_id) && !cJSON_IsNull(group_id)) {
235
188
        ogs_error("OpenAPI_udm_info_parseFromJSON() failed [group_id]");
236
188
        goto end;
237
188
    }
238
742
    }
239
240
10.4k
    supi_ranges = cJSON_GetObjectItemCaseSensitive(udm_infoJSON, "supiRanges");
241
10.4k
    if (supi_ranges) {
242
1.15k
        cJSON *supi_ranges_local = NULL;
243
1.15k
        if (!cJSON_IsArray(supi_ranges)) {
244
267
            ogs_error("OpenAPI_udm_info_parseFromJSON() failed [supi_ranges]");
245
267
            goto end;
246
267
        }
247
248
892
        supi_rangesList = OpenAPI_list_create();
249
250
1.35k
        cJSON_ArrayForEach(supi_ranges_local, supi_ranges) {
251
1.35k
            if (!cJSON_IsObject(supi_ranges_local)) {
252
336
                ogs_error("OpenAPI_udm_info_parseFromJSON() failed [supi_ranges]");
253
336
                goto end;
254
336
            }
255
1.01k
            OpenAPI_supi_range_t *supi_rangesItem = OpenAPI_supi_range_parseFromJSON(supi_ranges_local);
256
1.01k
            if (!supi_rangesItem) {
257
120
                ogs_error("No supi_rangesItem");
258
120
                goto end;
259
120
            }
260
894
            OpenAPI_list_add(supi_rangesList, supi_rangesItem);
261
894
        }
262
892
    }
263
264
9.69k
    gpsi_ranges = cJSON_GetObjectItemCaseSensitive(udm_infoJSON, "gpsiRanges");
265
9.69k
    if (gpsi_ranges) {
266
1.53k
        cJSON *gpsi_ranges_local = NULL;
267
1.53k
        if (!cJSON_IsArray(gpsi_ranges)) {
268
398
            ogs_error("OpenAPI_udm_info_parseFromJSON() failed [gpsi_ranges]");
269
398
            goto end;
270
398
        }
271
272
1.13k
        gpsi_rangesList = OpenAPI_list_create();
273
274
1.60k
        cJSON_ArrayForEach(gpsi_ranges_local, gpsi_ranges) {
275
1.60k
            if (!cJSON_IsObject(gpsi_ranges_local)) {
276
500
                ogs_error("OpenAPI_udm_info_parseFromJSON() failed [gpsi_ranges]");
277
500
                goto end;
278
500
            }
279
1.10k
            OpenAPI_identity_range_t *gpsi_rangesItem = OpenAPI_identity_range_parseFromJSON(gpsi_ranges_local);
280
1.10k
            if (!gpsi_rangesItem) {
281
125
                ogs_error("No gpsi_rangesItem");
282
125
                goto end;
283
125
            }
284
977
            OpenAPI_list_add(gpsi_rangesList, gpsi_rangesItem);
285
977
        }
286
1.13k
    }
287
288
8.67k
    external_group_identifiers_ranges = cJSON_GetObjectItemCaseSensitive(udm_infoJSON, "externalGroupIdentifiersRanges");
289
8.67k
    if (external_group_identifiers_ranges) {
290
762
        cJSON *external_group_identifiers_ranges_local = NULL;
291
762
        if (!cJSON_IsArray(external_group_identifiers_ranges)) {
292
327
            ogs_error("OpenAPI_udm_info_parseFromJSON() failed [external_group_identifiers_ranges]");
293
327
            goto end;
294
327
        }
295
296
435
        external_group_identifiers_rangesList = OpenAPI_list_create();
297
298
896
        cJSON_ArrayForEach(external_group_identifiers_ranges_local, external_group_identifiers_ranges) {
299
896
            if (!cJSON_IsObject(external_group_identifiers_ranges_local)) {
300
194
                ogs_error("OpenAPI_udm_info_parseFromJSON() failed [external_group_identifiers_ranges]");
301
194
                goto end;
302
194
            }
303
702
            OpenAPI_identity_range_t *external_group_identifiers_rangesItem = OpenAPI_identity_range_parseFromJSON(external_group_identifiers_ranges_local);
304
702
            if (!external_group_identifiers_rangesItem) {
305
66
                ogs_error("No external_group_identifiers_rangesItem");
306
66
                goto end;
307
66
            }
308
636
            OpenAPI_list_add(external_group_identifiers_rangesList, external_group_identifiers_rangesItem);
309
636
        }
310
435
    }
311
312
8.08k
    routing_indicators = cJSON_GetObjectItemCaseSensitive(udm_infoJSON, "routingIndicators");
313
8.08k
    if (routing_indicators) {
314
653
        cJSON *routing_indicators_local = NULL;
315
653
        if (!cJSON_IsArray(routing_indicators)) {
316
117
            ogs_error("OpenAPI_udm_info_parseFromJSON() failed [routing_indicators]");
317
117
            goto end;
318
117
        }
319
320
536
        routing_indicatorsList = OpenAPI_list_create();
321
322
837
        cJSON_ArrayForEach(routing_indicators_local, routing_indicators) {
323
837
            double *localDouble = NULL;
324
837
            int *localInt = NULL;
325
837
            if (!cJSON_IsString(routing_indicators_local)) {
326
140
                ogs_error("OpenAPI_udm_info_parseFromJSON() failed [routing_indicators]");
327
140
                goto end;
328
140
            }
329
697
            OpenAPI_list_add(routing_indicatorsList, ogs_strdup(routing_indicators_local->valuestring));
330
697
        }
331
536
    }
332
333
7.82k
    internal_group_identifiers_ranges = cJSON_GetObjectItemCaseSensitive(udm_infoJSON, "internalGroupIdentifiersRanges");
334
7.82k
    if (internal_group_identifiers_ranges) {
335
467
        cJSON *internal_group_identifiers_ranges_local = NULL;
336
467
        if (!cJSON_IsArray(internal_group_identifiers_ranges)) {
337
43
            ogs_error("OpenAPI_udm_info_parseFromJSON() failed [internal_group_identifiers_ranges]");
338
43
            goto end;
339
43
        }
340
341
424
        internal_group_identifiers_rangesList = OpenAPI_list_create();
342
343
1.22k
        cJSON_ArrayForEach(internal_group_identifiers_ranges_local, internal_group_identifiers_ranges) {
344
1.22k
            if (!cJSON_IsObject(internal_group_identifiers_ranges_local)) {
345
142
                ogs_error("OpenAPI_udm_info_parseFromJSON() failed [internal_group_identifiers_ranges]");
346
142
                goto end;
347
142
            }
348
1.08k
            OpenAPI_internal_group_id_range_t *internal_group_identifiers_rangesItem = OpenAPI_internal_group_id_range_parseFromJSON(internal_group_identifiers_ranges_local);
349
1.08k
            if (!internal_group_identifiers_rangesItem) {
350
94
                ogs_error("No internal_group_identifiers_rangesItem");
351
94
                goto end;
352
94
            }
353
988
            OpenAPI_list_add(internal_group_identifiers_rangesList, internal_group_identifiers_rangesItem);
354
988
        }
355
424
    }
356
357
7.54k
    suci_infos = cJSON_GetObjectItemCaseSensitive(udm_infoJSON, "suciInfos");
358
7.54k
    if (suci_infos) {
359
765
        cJSON *suci_infos_local = NULL;
360
765
        if (!cJSON_IsArray(suci_infos)) {
361
318
            ogs_error("OpenAPI_udm_info_parseFromJSON() failed [suci_infos]");
362
318
            goto end;
363
318
        }
364
365
447
        suci_infosList = OpenAPI_list_create();
366
367
3.18k
        cJSON_ArrayForEach(suci_infos_local, suci_infos) {
368
3.18k
            if (!cJSON_IsObject(suci_infos_local)) {
369
135
                ogs_error("OpenAPI_udm_info_parseFromJSON() failed [suci_infos]");
370
135
                goto end;
371
135
            }
372
3.05k
            OpenAPI_suci_info_t *suci_infosItem = OpenAPI_suci_info_parseFromJSON(suci_infos_local);
373
3.05k
            if (!suci_infosItem) {
374
142
                ogs_error("No suci_infosItem");
375
142
                goto end;
376
142
            }
377
2.91k
            OpenAPI_list_add(suci_infosList, suci_infosItem);
378
2.91k
        }
379
447
    }
380
381
6.95k
    any_ue_udm_single_instance = cJSON_GetObjectItemCaseSensitive(udm_infoJSON, "anyUeUdmSingleInstance");
382
6.95k
    if (any_ue_udm_single_instance) {
383
196
    if (!cJSON_IsBool(any_ue_udm_single_instance)) {
384
196
        ogs_error("OpenAPI_udm_info_parseFromJSON() failed [any_ue_udm_single_instance]");
385
196
        goto end;
386
196
    }
387
196
    }
388
389
6.75k
    udm_info_local_var = OpenAPI_udm_info_create (
390
6.75k
        group_id && !cJSON_IsNull(group_id) ? ogs_strdup(group_id->valuestring) : NULL,
391
6.75k
        supi_ranges ? supi_rangesList : NULL,
392
6.75k
        gpsi_ranges ? gpsi_rangesList : NULL,
393
6.75k
        external_group_identifiers_ranges ? external_group_identifiers_rangesList : NULL,
394
6.75k
        routing_indicators ? routing_indicatorsList : NULL,
395
6.75k
        internal_group_identifiers_ranges ? internal_group_identifiers_rangesList : NULL,
396
6.75k
        suci_infos ? suci_infosList : NULL,
397
6.75k
        any_ue_udm_single_instance ? true : false,
398
6.75k
        any_ue_udm_single_instance ? any_ue_udm_single_instance->valueint : 0
399
6.75k
    );
400
401
6.75k
    return udm_info_local_var;
402
3.84k
end:
403
3.84k
    if (supi_rangesList) {
404
456
        OpenAPI_list_for_each(supi_rangesList, node) {
405
416
            OpenAPI_supi_range_free(node->data);
406
416
        }
407
456
        OpenAPI_list_free(supi_rangesList);
408
456
        supi_rangesList = NULL;
409
456
    }
410
3.84k
    if (gpsi_rangesList) {
411
625
        OpenAPI_list_for_each(gpsi_rangesList, node) {
412
566
            OpenAPI_identity_range_free(node->data);
413
566
        }
414
625
        OpenAPI_list_free(gpsi_rangesList);
415
625
        gpsi_rangesList = NULL;
416
625
    }
417
3.84k
    if (external_group_identifiers_rangesList) {
418
367
        OpenAPI_list_for_each(external_group_identifiers_rangesList, node) {
419
367
            OpenAPI_identity_range_free(node->data);
420
367
        }
421
260
        OpenAPI_list_free(external_group_identifiers_rangesList);
422
260
        external_group_identifiers_rangesList = NULL;
423
260
    }
424
3.84k
    if (routing_indicatorsList) {
425
355
        OpenAPI_list_for_each(routing_indicatorsList, node) {
426
355
            ogs_free(node->data);
427
355
        }
428
140
        OpenAPI_list_free(routing_indicatorsList);
429
140
        routing_indicatorsList = NULL;
430
140
    }
431
3.84k
    if (internal_group_identifiers_rangesList) {
432
287
        OpenAPI_list_for_each(internal_group_identifiers_rangesList, node) {
433
287
            OpenAPI_internal_group_id_range_free(node->data);
434
287
        }
435
236
        OpenAPI_list_free(internal_group_identifiers_rangesList);
436
236
        internal_group_identifiers_rangesList = NULL;
437
236
    }
438
3.84k
    if (suci_infosList) {
439
2.47k
        OpenAPI_list_for_each(suci_infosList, node) {
440
2.47k
            OpenAPI_suci_info_free(node->data);
441
2.47k
        }
442
277
        OpenAPI_list_free(suci_infosList);
443
277
        suci_infosList = NULL;
444
277
    }
445
3.84k
    return NULL;
446
6.95k
}
447
448
OpenAPI_udm_info_t *OpenAPI_udm_info_copy(OpenAPI_udm_info_t *dst, OpenAPI_udm_info_t *src)
449
0
{
450
0
    cJSON *item = NULL;
451
0
    char *content = NULL;
452
453
0
    ogs_assert(src);
454
0
    item = OpenAPI_udm_info_convertToJSON(src);
455
0
    if (!item) {
456
0
        ogs_error("OpenAPI_udm_info_convertToJSON() failed");
457
0
        return NULL;
458
0
    }
459
460
0
    content = cJSON_Print(item);
461
0
    cJSON_Delete(item);
462
463
0
    if (!content) {
464
0
        ogs_error("cJSON_Print() failed");
465
0
        return NULL;
466
0
    }
467
468
0
    item = cJSON_Parse(content);
469
0
    ogs_free(content);
470
0
    if (!item) {
471
0
        ogs_error("cJSON_Parse() failed");
472
0
        return NULL;
473
0
    }
474
475
0
    OpenAPI_udm_info_free(dst);
476
0
    dst = OpenAPI_udm_info_parseFromJSON(item);
477
0
    cJSON_Delete(item);
478
479
0
    return dst;
480
0
}
481