| 421 | | size = xmlrpc_array_size(fault, retval); |
|---|
| 422 | | die_if_fault_occurred(fault); |
|---|
| 423 | | |
|---|
| 424 | | for (i = 0; i < size; i++) { |
|---|
| 425 | | BlogCategory *category = g_new0(BlogCategory, 1); |
|---|
| 426 | | xmlrpc_value *cat = xmlrpc_array_get_item(fault, retval, i); |
|---|
| | 421 | if (xmlrpc_value_type(retval) == XMLRPC_TYPE_ARRAY) { |
|---|
| | 422 | size = xmlrpc_array_size(fault, retval); |
|---|
| | 423 | die_if_fault_occurred(fault); |
|---|
| | 424 | |
|---|
| | 425 | for (i = 0; i < size; i++) { |
|---|
| | 426 | xmlrpc_value *cat = xmlrpc_array_get_item(fault, retval, i); |
|---|
| | 427 | gchar *id, *name; |
|---|
| | 428 | |
|---|
| | 429 | xmlrpc_parse_value(fault, cat, "{s:s,s:s,*}", |
|---|
| | 430 | "categoryId", &id, |
|---|
| | 431 | "description", &name); |
|---|
| | 432 | |
|---|
| | 433 | if (id && name) { |
|---|
| | 434 | BlogCategory *category = g_new0(BlogCategory, 1); |
|---|
| | 435 | category->id = g_strdup(id); |
|---|
| | 436 | category->name = g_strdup(name); |
|---|
| | 437 | |
|---|
| | 438 | clo->blog->categories = g_slist_append(clo->blog->categories, category); |
|---|
| | 439 | } |
|---|
| | 440 | } |
|---|
| | 441 | } else { |
|---|
| 432 | | |
|---|
| 433 | | category->id = g_strdup(id); |
|---|
| 434 | | category->name = g_strdup(name); |
|---|
| 435 | | |
|---|
| 436 | | clo->blog->categories = g_slist_append(clo->blog->categories, category); |
|---|
| 437 | | } |
|---|
| | 446 | printf("Found category: %s / %s\n", id, name); |
|---|
| | 447 | if (id && name) { |
|---|
| | 448 | BlogCategory *category = g_new0(BlogCategory, 1); |
|---|
| | 449 | category->id = g_strdup(id); |
|---|
| | 450 | category->name = g_strdup(name); |
|---|
| | 451 | |
|---|
| | 452 | clo->blog->categories = g_slist_append(clo->blog->categories, category); |
|---|
| | 453 | } |
|---|
| | 454 | } |
|---|
| | 455 | |
|---|
| | 456 | |
|---|