summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--service.c11
1 files changed, 7 insertions, 4 deletions
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);
}