diff --git a/src/core/store.c b/src/core/store.c
index 1c04a77cb6a6c1ce252380211ee8bdb9de188309..605dfc08b71092756b732a0b77644548693a1586 100644 (file)
--- a/src/core/store.c
+++ b/src/core/store.c
* of the serialized data.
*/
static void
-store_obj_tojson(sdb_llist_t *list, int type, sdb_strbuf_t *buf)
+store_obj_tojson(sdb_llist_t *list, int type, sdb_strbuf_t *buf, int flags)
{
sdb_llist_iter_t *iter;
SDB_DOUBLE_QUOTED);
sdb_strbuf_append(buf, "\"value\": %s, ", tmp);
}
-
store_common_tojson(sobj, buf);
+
+ if ((sobj->type == SDB_SERVICE)
+ && (! (flags & SDB_SKIP_ATTRIBUTES))) {
+ sdb_strbuf_append(buf, ", \"attributes\": ");
+ store_obj_tojson(SVC(sobj)->attributes, SDB_ATTRIBUTE,
+ buf, flags);
+ }
sdb_strbuf_append(buf, "}");
if (sdb_llist_iter_has_next(iter))
if (! (flags & SDB_SKIP_ATTRIBUTES)) {
sdb_strbuf_append(buf, ", \"attributes\": ");
- store_obj_tojson(host->attributes, SDB_ATTRIBUTE, buf);
+ store_obj_tojson(host->attributes, SDB_ATTRIBUTE, buf, flags);
}
if (! (flags & SDB_SKIP_SERVICES)) {
sdb_strbuf_append(buf, ", \"services\": ");
- store_obj_tojson(host->services, SDB_SERVICE, buf);
+ store_obj_tojson(host->services, SDB_SERVICE, buf, flags);
}
sdb_strbuf_append(buf, "}");