diff options
Diffstat (limited to 'src/jsonapi/jsonapi_document.c')
-rw-r--r-- | src/jsonapi/jsonapi_document.c | 32 |
1 files changed, 12 insertions, 20 deletions
diff --git a/src/jsonapi/jsonapi_document.c b/src/jsonapi/jsonapi_document.c index 600b7ee6a..3a60940f6 100644 --- a/src/jsonapi/jsonapi_document.c +++ b/src/jsonapi/jsonapi_document.c | |||
@@ -332,28 +332,20 @@ GNUNET_JSONAPI_document_to_json (const struct GNUNET_JSONAPI_Document *doc, | |||
332 | GNUNET_JSONAPI_KEY_ERRORS, | 332 | GNUNET_JSONAPI_KEY_ERRORS, |
333 | res_json); | 333 | res_json); |
334 | } else { | 334 | } else { |
335 | switch (doc->res_count) | 335 | if (0 == doc->res_count) |
336 | { | 336 | { |
337 | case 0: | 337 | res_json = json_null(); |
338 | res_json = json_null(); | 338 | } else { |
339 | break; | 339 | res_json = json_array (); |
340 | case 1: | 340 | for (res = doc->res_list_head; |
341 | res != NULL; | ||
342 | res = res->next) | ||
343 | { | ||
341 | GNUNET_assert (GNUNET_OK == | 344 | GNUNET_assert (GNUNET_OK == |
342 | GNUNET_JSONAPI_resource_to_json (doc->res_list_head, | 345 | GNUNET_JSONAPI_resource_to_json (res, |
343 | &res_json)); | 346 | &res_json_tmp)); |
344 | break; | 347 | json_array_append_new (res_json, res_json_tmp); |
345 | default: | 348 | } |
346 | res_json = json_array (); | ||
347 | for (res = doc->res_list_head; | ||
348 | res != NULL; | ||
349 | res = res->next) | ||
350 | { | ||
351 | GNUNET_assert (GNUNET_OK == | ||
352 | GNUNET_JSONAPI_resource_to_json (res, | ||
353 | &res_json_tmp)); | ||
354 | json_array_append (res_json, res_json_tmp); | ||
355 | } | ||
356 | break; | ||
357 | } | 349 | } |
358 | json_object_set_new (*root_json, | 350 | json_object_set_new (*root_json, |
359 | GNUNET_JSONAPI_KEY_DATA, | 351 | GNUNET_JSONAPI_KEY_DATA, |