| 2361 | } |
| 2362 | |
| 2363 | cJSON *cJSON_CreateStringArray(const char **strings, int count) |
| 2364 | { |
| 2365 | size_t i = 0; |
| 2366 | cJSON *n = NULL; |
| 2367 | cJSON *p = NULL; |
| 2368 | cJSON *a = NULL; |
| 2369 | |
| 2370 | if (count < 0) |
| 2371 | { |
| 2372 | return NULL; |
| 2373 | } |
| 2374 | |
| 2375 | a = cJSON_CreateArray(); |
| 2376 | |
| 2377 | for (i = 0; a && (i < (size_t)count); i++) |
| 2378 | { |
| 2379 | n = cJSON_CreateString(strings[i]); |
| 2380 | if(!n) |
| 2381 | { |
| 2382 | cJSON_Delete(a); |
| 2383 | return NULL; |
| 2384 | } |
| 2385 | if(!i) |
| 2386 | { |
| 2387 | a->child = n; |
| 2388 | } |
| 2389 | else |
| 2390 | { |
| 2391 | suffix_object(p,n); |
| 2392 | } |
| 2393 | p = n; |
| 2394 | } |
| 2395 | |
| 2396 | return a; |
| 2397 | } |
| 2398 | |
| 2399 | /* Duplication */ |
| 2400 | cJSON *cJSON_Duplicate(const cJSON *item, cjbool recurse) |
nothing calls this directly
no test coverage detected