From: John Crispin Date: Tue, 3 Sep 2013 14:03:29 +0000 (+0200) Subject: fixup service_dump logic X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fprocd.git;a=commitdiff_plain;h=392ad3ba793f44a343026d5d49f7b8dc1435a2b8;hp=ed0464dbda4125cc857d8a06b84fa695d0b29251 fixup service_dump logic Signed-off-by: John Crispin --- diff --git a/service.c b/service.c index c80402c..e485c53 100644 --- a/service.c +++ b/service.c @@ -220,16 +220,19 @@ service_dump(struct service *s, int verbose) struct service_instance *in; void *c, *i; - if (avl_is_empty(&s->instances.avl) && !verbose) + c = blobmsg_open_table(&b, s->name); + + if (avl_is_empty(&s->instances.avl)) { + blobmsg_close_table(&b, c); return; + } - c = blobmsg_open_table(&b, s->name); - if (verbose && s->trigger) - blobmsg_add_blob(&b, s->trigger); i = blobmsg_open_table(&b, "instances"); vlist_for_each_element(&s->instances, in, node) instance_dump(&b, in, verbose); blobmsg_close_table(&b, i); + if (verbose && s->trigger) + blobmsg_add_blob(&b, s->trigger); blobmsg_close_table(&b, c); }