/src/open5gs/lib/sbi/openapi/model/tsctsf_info.c
Line | Count | Source |
1 | | |
2 | | #include <stdlib.h> |
3 | | #include <string.h> |
4 | | #include <stdio.h> |
5 | | #include "tsctsf_info.h" |
6 | | |
7 | | OpenAPI_tsctsf_info_t *OpenAPI_tsctsf_info_create( |
8 | | OpenAPI_list_t* s_nssai_info_list, |
9 | | OpenAPI_list_t *external_group_identifiers_ranges, |
10 | | OpenAPI_list_t *supi_ranges, |
11 | | OpenAPI_list_t *gpsi_ranges, |
12 | | OpenAPI_list_t *internal_group_identifiers_ranges |
13 | | ) |
14 | 4.46k | { |
15 | 4.46k | OpenAPI_tsctsf_info_t *tsctsf_info_local_var = ogs_malloc(sizeof(OpenAPI_tsctsf_info_t)); |
16 | 4.46k | ogs_assert(tsctsf_info_local_var); |
17 | | |
18 | 4.46k | tsctsf_info_local_var->s_nssai_info_list = s_nssai_info_list; |
19 | 4.46k | tsctsf_info_local_var->external_group_identifiers_ranges = external_group_identifiers_ranges; |
20 | 4.46k | tsctsf_info_local_var->supi_ranges = supi_ranges; |
21 | 4.46k | tsctsf_info_local_var->gpsi_ranges = gpsi_ranges; |
22 | 4.46k | tsctsf_info_local_var->internal_group_identifiers_ranges = internal_group_identifiers_ranges; |
23 | | |
24 | 4.46k | return tsctsf_info_local_var; |
25 | 4.46k | } |
26 | | |
27 | | void OpenAPI_tsctsf_info_free(OpenAPI_tsctsf_info_t *tsctsf_info) |
28 | 6.62k | { |
29 | 6.62k | OpenAPI_lnode_t *node = NULL; |
30 | | |
31 | 6.62k | if (NULL == tsctsf_info) { |
32 | 2.15k | return; |
33 | 2.15k | } |
34 | 4.46k | if (tsctsf_info->s_nssai_info_list) { |
35 | 815 | OpenAPI_list_for_each(tsctsf_info->s_nssai_info_list, node) { |
36 | 815 | OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)node->data; |
37 | 815 | ogs_free(localKeyValue->key); |
38 | 815 | OpenAPI_snssai_tsctsf_info_item_free(localKeyValue->value); |
39 | 815 | OpenAPI_map_free(localKeyValue); |
40 | 815 | } |
41 | 286 | OpenAPI_list_free(tsctsf_info->s_nssai_info_list); |
42 | 286 | tsctsf_info->s_nssai_info_list = NULL; |
43 | 286 | } |
44 | 4.46k | if (tsctsf_info->external_group_identifiers_ranges) { |
45 | 35 | OpenAPI_list_for_each(tsctsf_info->external_group_identifiers_ranges, node) { |
46 | 10 | OpenAPI_identity_range_free(node->data); |
47 | 10 | } |
48 | 35 | OpenAPI_list_free(tsctsf_info->external_group_identifiers_ranges); |
49 | 35 | tsctsf_info->external_group_identifiers_ranges = NULL; |
50 | 35 | } |
51 | 4.46k | if (tsctsf_info->supi_ranges) { |
52 | 136 | OpenAPI_list_for_each(tsctsf_info->supi_ranges, node) { |
53 | 101 | OpenAPI_supi_range_free(node->data); |
54 | 101 | } |
55 | 136 | OpenAPI_list_free(tsctsf_info->supi_ranges); |
56 | 136 | tsctsf_info->supi_ranges = NULL; |
57 | 136 | } |
58 | 4.46k | if (tsctsf_info->gpsi_ranges) { |
59 | 396 | OpenAPI_list_for_each(tsctsf_info->gpsi_ranges, node) { |
60 | 65 | OpenAPI_identity_range_free(node->data); |
61 | 65 | } |
62 | 396 | OpenAPI_list_free(tsctsf_info->gpsi_ranges); |
63 | 396 | tsctsf_info->gpsi_ranges = NULL; |
64 | 396 | } |
65 | 4.46k | if (tsctsf_info->internal_group_identifiers_ranges) { |
66 | 10 | OpenAPI_list_for_each(tsctsf_info->internal_group_identifiers_ranges, node) { |
67 | 0 | OpenAPI_internal_group_id_range_free(node->data); |
68 | 0 | } |
69 | 10 | OpenAPI_list_free(tsctsf_info->internal_group_identifiers_ranges); |
70 | 10 | tsctsf_info->internal_group_identifiers_ranges = NULL; |
71 | 10 | } |
72 | 4.46k | ogs_free(tsctsf_info); |
73 | 4.46k | } |
74 | | |
75 | | cJSON *OpenAPI_tsctsf_info_convertToJSON(OpenAPI_tsctsf_info_t *tsctsf_info) |
76 | 0 | { |
77 | 0 | cJSON *item = NULL; |
78 | 0 | OpenAPI_lnode_t *node = NULL; |
79 | |
|
80 | 0 | if (tsctsf_info == NULL) { |
81 | 0 | ogs_error("OpenAPI_tsctsf_info_convertToJSON() failed [TsctsfInfo]"); |
82 | 0 | return NULL; |
83 | 0 | } |
84 | | |
85 | 0 | item = cJSON_CreateObject(); |
86 | 0 | if (tsctsf_info->s_nssai_info_list) { |
87 | 0 | cJSON *s_nssai_info_list = cJSON_AddObjectToObject(item, "sNssaiInfoList"); |
88 | 0 | if (s_nssai_info_list == NULL) { |
89 | 0 | ogs_error("OpenAPI_tsctsf_info_convertToJSON() failed [s_nssai_info_list]"); |
90 | 0 | goto end; |
91 | 0 | } |
92 | 0 | cJSON *localMapObject = s_nssai_info_list; |
93 | 0 | if (tsctsf_info->s_nssai_info_list) { |
94 | 0 | OpenAPI_list_for_each(tsctsf_info->s_nssai_info_list, node) { |
95 | 0 | OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)node->data; |
96 | 0 | if (localKeyValue == NULL) { |
97 | 0 | ogs_error("OpenAPI_tsctsf_info_convertToJSON() failed [s_nssai_info_list]"); |
98 | 0 | goto end; |
99 | 0 | } |
100 | 0 | if (localKeyValue->key == NULL) { |
101 | 0 | ogs_error("OpenAPI_tsctsf_info_convertToJSON() failed [s_nssai_info_list]"); |
102 | 0 | goto end; |
103 | 0 | } |
104 | 0 | cJSON *itemLocal = localKeyValue->value ? |
105 | 0 | OpenAPI_snssai_tsctsf_info_item_convertToJSON(localKeyValue->value) : |
106 | 0 | cJSON_CreateNull(); |
107 | 0 | if (itemLocal == NULL) { |
108 | 0 | ogs_error("OpenAPI_tsctsf_info_convertToJSON() failed [inner]"); |
109 | 0 | goto end; |
110 | 0 | } |
111 | 0 | cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); |
112 | 0 | } |
113 | 0 | } |
114 | 0 | } |
115 | | |
116 | 0 | if (tsctsf_info->external_group_identifiers_ranges) { |
117 | 0 | cJSON *external_group_identifiers_rangesList = cJSON_AddArrayToObject(item, "externalGroupIdentifiersRanges"); |
118 | 0 | if (external_group_identifiers_rangesList == NULL) { |
119 | 0 | ogs_error("OpenAPI_tsctsf_info_convertToJSON() failed [external_group_identifiers_ranges]"); |
120 | 0 | goto end; |
121 | 0 | } |
122 | 0 | OpenAPI_list_for_each(tsctsf_info->external_group_identifiers_ranges, node) { |
123 | 0 | cJSON *itemLocal = OpenAPI_identity_range_convertToJSON(node->data); |
124 | 0 | if (itemLocal == NULL) { |
125 | 0 | ogs_error("OpenAPI_tsctsf_info_convertToJSON() failed [external_group_identifiers_ranges]"); |
126 | 0 | goto end; |
127 | 0 | } |
128 | 0 | cJSON_AddItemToArray(external_group_identifiers_rangesList, itemLocal); |
129 | 0 | } |
130 | 0 | } |
131 | | |
132 | 0 | if (tsctsf_info->supi_ranges) { |
133 | 0 | cJSON *supi_rangesList = cJSON_AddArrayToObject(item, "supiRanges"); |
134 | 0 | if (supi_rangesList == NULL) { |
135 | 0 | ogs_error("OpenAPI_tsctsf_info_convertToJSON() failed [supi_ranges]"); |
136 | 0 | goto end; |
137 | 0 | } |
138 | 0 | OpenAPI_list_for_each(tsctsf_info->supi_ranges, node) { |
139 | 0 | cJSON *itemLocal = OpenAPI_supi_range_convertToJSON(node->data); |
140 | 0 | if (itemLocal == NULL) { |
141 | 0 | ogs_error("OpenAPI_tsctsf_info_convertToJSON() failed [supi_ranges]"); |
142 | 0 | goto end; |
143 | 0 | } |
144 | 0 | cJSON_AddItemToArray(supi_rangesList, itemLocal); |
145 | 0 | } |
146 | 0 | } |
147 | | |
148 | 0 | if (tsctsf_info->gpsi_ranges) { |
149 | 0 | cJSON *gpsi_rangesList = cJSON_AddArrayToObject(item, "gpsiRanges"); |
150 | 0 | if (gpsi_rangesList == NULL) { |
151 | 0 | ogs_error("OpenAPI_tsctsf_info_convertToJSON() failed [gpsi_ranges]"); |
152 | 0 | goto end; |
153 | 0 | } |
154 | 0 | OpenAPI_list_for_each(tsctsf_info->gpsi_ranges, node) { |
155 | 0 | cJSON *itemLocal = OpenAPI_identity_range_convertToJSON(node->data); |
156 | 0 | if (itemLocal == NULL) { |
157 | 0 | ogs_error("OpenAPI_tsctsf_info_convertToJSON() failed [gpsi_ranges]"); |
158 | 0 | goto end; |
159 | 0 | } |
160 | 0 | cJSON_AddItemToArray(gpsi_rangesList, itemLocal); |
161 | 0 | } |
162 | 0 | } |
163 | | |
164 | 0 | if (tsctsf_info->internal_group_identifiers_ranges) { |
165 | 0 | cJSON *internal_group_identifiers_rangesList = cJSON_AddArrayToObject(item, "internalGroupIdentifiersRanges"); |
166 | 0 | if (internal_group_identifiers_rangesList == NULL) { |
167 | 0 | ogs_error("OpenAPI_tsctsf_info_convertToJSON() failed [internal_group_identifiers_ranges]"); |
168 | 0 | goto end; |
169 | 0 | } |
170 | 0 | OpenAPI_list_for_each(tsctsf_info->internal_group_identifiers_ranges, node) { |
171 | 0 | cJSON *itemLocal = OpenAPI_internal_group_id_range_convertToJSON(node->data); |
172 | 0 | if (itemLocal == NULL) { |
173 | 0 | ogs_error("OpenAPI_tsctsf_info_convertToJSON() failed [internal_group_identifiers_ranges]"); |
174 | 0 | goto end; |
175 | 0 | } |
176 | 0 | cJSON_AddItemToArray(internal_group_identifiers_rangesList, itemLocal); |
177 | 0 | } |
178 | 0 | } |
179 | | |
180 | 0 | end: |
181 | 0 | return item; |
182 | 0 | } |
183 | | |
184 | | OpenAPI_tsctsf_info_t *OpenAPI_tsctsf_info_parseFromJSON(cJSON *tsctsf_infoJSON) |
185 | 5.97k | { |
186 | 5.97k | OpenAPI_tsctsf_info_t *tsctsf_info_local_var = NULL; |
187 | 5.97k | OpenAPI_lnode_t *node = NULL; |
188 | 5.97k | cJSON *s_nssai_info_list = NULL; |
189 | 5.97k | OpenAPI_list_t *s_nssai_info_listList = NULL; |
190 | 5.97k | cJSON *external_group_identifiers_ranges = NULL; |
191 | 5.97k | OpenAPI_list_t *external_group_identifiers_rangesList = NULL; |
192 | 5.97k | cJSON *supi_ranges = NULL; |
193 | 5.97k | OpenAPI_list_t *supi_rangesList = NULL; |
194 | 5.97k | cJSON *gpsi_ranges = NULL; |
195 | 5.97k | OpenAPI_list_t *gpsi_rangesList = NULL; |
196 | 5.97k | cJSON *internal_group_identifiers_ranges = NULL; |
197 | 5.97k | OpenAPI_list_t *internal_group_identifiers_rangesList = NULL; |
198 | 5.97k | s_nssai_info_list = cJSON_GetObjectItemCaseSensitive(tsctsf_infoJSON, "sNssaiInfoList"); |
199 | 5.97k | if (s_nssai_info_list) { |
200 | 553 | cJSON *s_nssai_info_list_local_map = NULL; |
201 | 553 | if (!cJSON_IsObject(s_nssai_info_list) && !cJSON_IsNull(s_nssai_info_list)) { |
202 | 85 | ogs_error("OpenAPI_tsctsf_info_parseFromJSON() failed [s_nssai_info_list]"); |
203 | 85 | goto end; |
204 | 85 | } |
205 | 468 | if (cJSON_IsObject(s_nssai_info_list)) { |
206 | 401 | s_nssai_info_listList = OpenAPI_list_create(); |
207 | 401 | OpenAPI_map_t *localMapKeyPair = NULL; |
208 | 1.43k | cJSON_ArrayForEach(s_nssai_info_list_local_map, s_nssai_info_list) { |
209 | 1.43k | cJSON *localMapObject = s_nssai_info_list_local_map; |
210 | 1.43k | if (cJSON_IsObject(localMapObject)) { |
211 | 932 | localMapKeyPair = OpenAPI_map_create( |
212 | 932 | ogs_strdup(localMapObject->string), OpenAPI_snssai_tsctsf_info_item_parseFromJSON(localMapObject)); |
213 | 932 | } else if (cJSON_IsNull(localMapObject)) { |
214 | 386 | localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); |
215 | 386 | } else { |
216 | 115 | ogs_error("OpenAPI_tsctsf_info_parseFromJSON() failed [inner]"); |
217 | 115 | goto end; |
218 | 115 | } |
219 | 1.31k | if (localMapKeyPair == NULL) { |
220 | 0 | ogs_error("OpenAPI_tsctsf_info_parseFromJSON() failed [s_nssai_info_list]"); |
221 | 0 | goto end; |
222 | 0 | } |
223 | 1.31k | OpenAPI_list_add(s_nssai_info_listList, localMapKeyPair); |
224 | 1.31k | } |
225 | 401 | } |
226 | 468 | } |
227 | | |
228 | 5.77k | external_group_identifiers_ranges = cJSON_GetObjectItemCaseSensitive(tsctsf_infoJSON, "externalGroupIdentifiersRanges"); |
229 | 5.77k | if (external_group_identifiers_ranges) { |
230 | 150 | cJSON *external_group_identifiers_ranges_local = NULL; |
231 | 150 | if (!cJSON_IsArray(external_group_identifiers_ranges)) { |
232 | 75 | ogs_error("OpenAPI_tsctsf_info_parseFromJSON() failed [external_group_identifiers_ranges]"); |
233 | 75 | goto end; |
234 | 75 | } |
235 | | |
236 | 75 | external_group_identifiers_rangesList = OpenAPI_list_create(); |
237 | | |
238 | 75 | cJSON_ArrayForEach(external_group_identifiers_ranges_local, external_group_identifiers_ranges) { |
239 | 50 | if (!cJSON_IsObject(external_group_identifiers_ranges_local)) { |
240 | 40 | ogs_error("OpenAPI_tsctsf_info_parseFromJSON() failed [external_group_identifiers_ranges]"); |
241 | 40 | goto end; |
242 | 40 | } |
243 | 10 | OpenAPI_identity_range_t *external_group_identifiers_rangesItem = OpenAPI_identity_range_parseFromJSON(external_group_identifiers_ranges_local); |
244 | 10 | if (!external_group_identifiers_rangesItem) { |
245 | 0 | ogs_error("No external_group_identifiers_rangesItem"); |
246 | 0 | goto end; |
247 | 0 | } |
248 | 10 | OpenAPI_list_add(external_group_identifiers_rangesList, external_group_identifiers_rangesItem); |
249 | 10 | } |
250 | 75 | } |
251 | | |
252 | 5.65k | supi_ranges = cJSON_GetObjectItemCaseSensitive(tsctsf_infoJSON, "supiRanges"); |
253 | 5.65k | if (supi_ranges) { |
254 | 585 | cJSON *supi_ranges_local = NULL; |
255 | 585 | if (!cJSON_IsArray(supi_ranges)) { |
256 | 264 | ogs_error("OpenAPI_tsctsf_info_parseFromJSON() failed [supi_ranges]"); |
257 | 264 | goto end; |
258 | 264 | } |
259 | | |
260 | 321 | supi_rangesList = OpenAPI_list_create(); |
261 | | |
262 | 417 | cJSON_ArrayForEach(supi_ranges_local, supi_ranges) { |
263 | 417 | if (!cJSON_IsObject(supi_ranges_local)) { |
264 | 175 | ogs_error("OpenAPI_tsctsf_info_parseFromJSON() failed [supi_ranges]"); |
265 | 175 | goto end; |
266 | 175 | } |
267 | 242 | OpenAPI_supi_range_t *supi_rangesItem = OpenAPI_supi_range_parseFromJSON(supi_ranges_local); |
268 | 242 | if (!supi_rangesItem) { |
269 | 10 | ogs_error("No supi_rangesItem"); |
270 | 10 | goto end; |
271 | 10 | } |
272 | 232 | OpenAPI_list_add(supi_rangesList, supi_rangesItem); |
273 | 232 | } |
274 | 321 | } |
275 | | |
276 | 5.20k | gpsi_ranges = cJSON_GetObjectItemCaseSensitive(tsctsf_infoJSON, "gpsiRanges"); |
277 | 5.20k | if (gpsi_ranges) { |
278 | 1.05k | cJSON *gpsi_ranges_local = NULL; |
279 | 1.05k | if (!cJSON_IsArray(gpsi_ranges)) { |
280 | 299 | ogs_error("OpenAPI_tsctsf_info_parseFromJSON() failed [gpsi_ranges]"); |
281 | 299 | goto end; |
282 | 299 | } |
283 | | |
284 | 755 | gpsi_rangesList = OpenAPI_list_create(); |
285 | | |
286 | 755 | cJSON_ArrayForEach(gpsi_ranges_local, gpsi_ranges) { |
287 | 516 | if (!cJSON_IsObject(gpsi_ranges_local)) { |
288 | 286 | ogs_error("OpenAPI_tsctsf_info_parseFromJSON() failed [gpsi_ranges]"); |
289 | 286 | goto end; |
290 | 286 | } |
291 | 230 | OpenAPI_identity_range_t *gpsi_rangesItem = OpenAPI_identity_range_parseFromJSON(gpsi_ranges_local); |
292 | 230 | if (!gpsi_rangesItem) { |
293 | 73 | ogs_error("No gpsi_rangesItem"); |
294 | 73 | goto end; |
295 | 73 | } |
296 | 157 | OpenAPI_list_add(gpsi_rangesList, gpsi_rangesItem); |
297 | 157 | } |
298 | 755 | } |
299 | | |
300 | 4.55k | internal_group_identifiers_ranges = cJSON_GetObjectItemCaseSensitive(tsctsf_infoJSON, "internalGroupIdentifiersRanges"); |
301 | 4.55k | if (internal_group_identifiers_ranges) { |
302 | 96 | cJSON *internal_group_identifiers_ranges_local = NULL; |
303 | 96 | if (!cJSON_IsArray(internal_group_identifiers_ranges)) { |
304 | 68 | ogs_error("OpenAPI_tsctsf_info_parseFromJSON() failed [internal_group_identifiers_ranges]"); |
305 | 68 | goto end; |
306 | 68 | } |
307 | | |
308 | 28 | internal_group_identifiers_rangesList = OpenAPI_list_create(); |
309 | | |
310 | 28 | cJSON_ArrayForEach(internal_group_identifiers_ranges_local, internal_group_identifiers_ranges) { |
311 | 18 | if (!cJSON_IsObject(internal_group_identifiers_ranges_local)) { |
312 | 18 | ogs_error("OpenAPI_tsctsf_info_parseFromJSON() failed [internal_group_identifiers_ranges]"); |
313 | 18 | goto end; |
314 | 18 | } |
315 | 0 | OpenAPI_internal_group_id_range_t *internal_group_identifiers_rangesItem = OpenAPI_internal_group_id_range_parseFromJSON(internal_group_identifiers_ranges_local); |
316 | 0 | if (!internal_group_identifiers_rangesItem) { |
317 | 0 | ogs_error("No internal_group_identifiers_rangesItem"); |
318 | 0 | goto end; |
319 | 0 | } |
320 | 0 | OpenAPI_list_add(internal_group_identifiers_rangesList, internal_group_identifiers_rangesItem); |
321 | 0 | } |
322 | 28 | } |
323 | | |
324 | 4.46k | tsctsf_info_local_var = OpenAPI_tsctsf_info_create ( |
325 | 4.46k | s_nssai_info_list ? s_nssai_info_listList : NULL, |
326 | 4.46k | external_group_identifiers_ranges ? external_group_identifiers_rangesList : NULL, |
327 | 4.46k | supi_ranges ? supi_rangesList : NULL, |
328 | 4.46k | gpsi_ranges ? gpsi_rangesList : NULL, |
329 | 4.46k | internal_group_identifiers_ranges ? internal_group_identifiers_rangesList : NULL |
330 | 4.46k | ); |
331 | | |
332 | 4.46k | return tsctsf_info_local_var; |
333 | 1.50k | end: |
334 | 1.50k | if (s_nssai_info_listList) { |
335 | 503 | OpenAPI_list_for_each(s_nssai_info_listList, node) { |
336 | 503 | OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)node->data; |
337 | 503 | ogs_free(localKeyValue->key); |
338 | 503 | OpenAPI_snssai_tsctsf_info_item_free(localKeyValue->value); |
339 | 503 | OpenAPI_map_free(localKeyValue); |
340 | 503 | } |
341 | 115 | OpenAPI_list_free(s_nssai_info_listList); |
342 | 115 | s_nssai_info_listList = NULL; |
343 | 115 | } |
344 | 1.50k | if (external_group_identifiers_rangesList) { |
345 | 40 | OpenAPI_list_for_each(external_group_identifiers_rangesList, node) { |
346 | 0 | OpenAPI_identity_range_free(node->data); |
347 | 0 | } |
348 | 40 | OpenAPI_list_free(external_group_identifiers_rangesList); |
349 | 40 | external_group_identifiers_rangesList = NULL; |
350 | 40 | } |
351 | 1.50k | if (supi_rangesList) { |
352 | 185 | OpenAPI_list_for_each(supi_rangesList, node) { |
353 | 131 | OpenAPI_supi_range_free(node->data); |
354 | 131 | } |
355 | 185 | OpenAPI_list_free(supi_rangesList); |
356 | 185 | supi_rangesList = NULL; |
357 | 185 | } |
358 | 1.50k | if (gpsi_rangesList) { |
359 | 359 | OpenAPI_list_for_each(gpsi_rangesList, node) { |
360 | 92 | OpenAPI_identity_range_free(node->data); |
361 | 92 | } |
362 | 359 | OpenAPI_list_free(gpsi_rangesList); |
363 | 359 | gpsi_rangesList = NULL; |
364 | 359 | } |
365 | 1.50k | if (internal_group_identifiers_rangesList) { |
366 | 18 | OpenAPI_list_for_each(internal_group_identifiers_rangesList, node) { |
367 | 0 | OpenAPI_internal_group_id_range_free(node->data); |
368 | 0 | } |
369 | 18 | OpenAPI_list_free(internal_group_identifiers_rangesList); |
370 | 18 | internal_group_identifiers_rangesList = NULL; |
371 | 18 | } |
372 | 1.50k | return NULL; |
373 | 4.55k | } |
374 | | |
375 | | OpenAPI_tsctsf_info_t *OpenAPI_tsctsf_info_copy(OpenAPI_tsctsf_info_t *dst, OpenAPI_tsctsf_info_t *src) |
376 | 0 | { |
377 | 0 | cJSON *item = NULL; |
378 | 0 | char *content = NULL; |
379 | |
|
380 | 0 | ogs_assert(src); |
381 | 0 | item = OpenAPI_tsctsf_info_convertToJSON(src); |
382 | 0 | if (!item) { |
383 | 0 | ogs_error("OpenAPI_tsctsf_info_convertToJSON() failed"); |
384 | 0 | return NULL; |
385 | 0 | } |
386 | | |
387 | 0 | content = cJSON_Print(item); |
388 | 0 | cJSON_Delete(item); |
389 | |
|
390 | 0 | if (!content) { |
391 | 0 | ogs_error("cJSON_Print() failed"); |
392 | 0 | return NULL; |
393 | 0 | } |
394 | | |
395 | 0 | item = cJSON_Parse(content); |
396 | 0 | ogs_free(content); |
397 | 0 | if (!item) { |
398 | 0 | ogs_error("cJSON_Parse() failed"); |
399 | 0 | return NULL; |
400 | 0 | } |
401 | | |
402 | 0 | OpenAPI_tsctsf_info_free(dst); |
403 | 0 | dst = OpenAPI_tsctsf_info_parseFromJSON(item); |
404 | 0 | cJSON_Delete(item); |
405 | |
|
406 | 0 | return dst; |
407 | 0 | } |
408 | | |