diff options
author | John Crispin <blogic@openwrt.org> | 2013-09-03 16:03:29 +0200 |
---|---|---|
committer | John Crispin <blogic@openwrt.org> | 2013-09-03 19:44:57 +0200 |
commit | 392ad3ba793f44a343026d5d49f7b8dc1435a2b8 (patch) | |
tree | 38afd1dd4afae3555509ed559f1b124ffcba347c | |
parent | ed0464dbda4125cc857d8a06b84fa695d0b29251 (diff) | |
download | unitd-392ad3ba793f44a343026d5d49f7b8dc1435a2b8.tar unitd-392ad3ba793f44a343026d5d49f7b8dc1435a2b8.zip |
fixup service_dump logic
Signed-off-by: John Crispin <blogic@openwrt.org>
-rw-r--r-- | service.c | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -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); } |