summaryrefslogtreecommitdiff
path: root/src/busctl/busctl.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2018-11-27 22:30:30 +0100
committerLennart Poettering <lennart@poettering.net>2018-11-28 08:38:55 +0100
commit3919bc24aae13fb8e8f8574fed6bc9b02c008c04 (patch)
tree7e36f2a3abfa1769341315fdebf3333b5b60f01b /src/busctl/busctl.c
parent319a4f27c477cbc63decdc510b7ca698a7be44f4 (diff)
downloadsystemd-3919bc24aae13fb8e8f8574fed6bc9b02c008c04.tar.gz
busctl: use new JSON_BUILD_PAIR_CONDITIONAL() for minimizing bus message JSON transformations
Let's not generate object fields that aren't defined for a message.
Diffstat (limited to 'src/busctl/busctl.c')
-rw-r--r--src/busctl/busctl.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/busctl/busctl.c b/src/busctl/busctl.c
index aa96fd12a9..1b0939caba 100644
--- a/src/busctl/busctl.c
+++ b/src/busctl/busctl.c
@@ -1153,18 +1153,18 @@ static int message_json(sd_bus_message *m, FILE *f) {
JSON_BUILD_PAIR("endian", JSON_BUILD_STRING(e)),
JSON_BUILD_PAIR("flags", JSON_BUILD_INTEGER(m->header->flags)),
JSON_BUILD_PAIR("version", JSON_BUILD_INTEGER(m->header->version)),
- JSON_BUILD_PAIR("priority", JSON_BUILD_INTEGER(m->priority)),
+ JSON_BUILD_PAIR_CONDITION(m->priority != 0, "priority", JSON_BUILD_INTEGER(m->priority)),
JSON_BUILD_PAIR("cookie", JSON_BUILD_INTEGER(BUS_MESSAGE_COOKIE(m))),
- JSON_BUILD_PAIR("reply_cookie", JSON_BUILD_INTEGER(m->reply_cookie)),
- JSON_BUILD_PAIR("sender", JSON_BUILD_STRING(m->sender)),
- JSON_BUILD_PAIR("destination", JSON_BUILD_STRING(m->destination)),
- JSON_BUILD_PAIR("path", JSON_BUILD_STRING(m->path)),
- JSON_BUILD_PAIR("interface", JSON_BUILD_STRING(m->interface)),
- JSON_BUILD_PAIR("member", JSON_BUILD_STRING(m->member)),
- JSON_BUILD_PAIR("monotonic", JSON_BUILD_INTEGER(m->monotonic)),
- JSON_BUILD_PAIR("realtime", JSON_BUILD_INTEGER(m->realtime)),
- JSON_BUILD_PAIR("seqnum", JSON_BUILD_INTEGER(m->seqnum)),
- JSON_BUILD_PAIR("error_name", JSON_BUILD_STRING(m->error.name)),
+ JSON_BUILD_PAIR_CONDITION(m->reply_cookie != 0, "reply_cookie", JSON_BUILD_INTEGER(m->reply_cookie)),
+ JSON_BUILD_PAIR_CONDITION(m->sender, "sender", JSON_BUILD_STRING(m->sender)),
+ JSON_BUILD_PAIR_CONDITION(m->destination, "destination", JSON_BUILD_STRING(m->destination)),
+ JSON_BUILD_PAIR_CONDITION(m->path, "path", JSON_BUILD_STRING(m->path)),
+ JSON_BUILD_PAIR_CONDITION(m->interface, "interface", JSON_BUILD_STRING(m->interface)),
+ JSON_BUILD_PAIR_CONDITION(m->member, "member", JSON_BUILD_STRING(m->member)),
+ JSON_BUILD_PAIR_CONDITION(m->monotonic != 0, "monotonic", JSON_BUILD_INTEGER(m->monotonic)),
+ JSON_BUILD_PAIR_CONDITION(m->realtime != 0, "realtime", JSON_BUILD_INTEGER(m->realtime)),
+ JSON_BUILD_PAIR_CONDITION(m->seqnum != 0, "seqnum", JSON_BUILD_INTEGER(m->seqnum)),
+ JSON_BUILD_PAIR_CONDITION(m->error.name, "error_name", JSON_BUILD_STRING(m->error.name)),
JSON_BUILD_PAIR("payload", JSON_BUILD_VARIANT(v))));
if (r < 0)
return log_error_errno(r, "Failed to build JSON object: %m");