From 3919bc24aae13fb8e8f8574fed6bc9b02c008c04 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 27 Nov 2018 22:30:30 +0100 Subject: [PATCH] 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. --- src/busctl/busctl.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/busctl/busctl.c b/src/busctl/busctl.c index aa96fd12a96..1b0939cabaf 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"); -- 2.47.3