From: Lennart Poettering Date: Tue, 27 Nov 2018 21:30:30 +0000 (+0100) Subject: busctl: use new JSON_BUILD_PAIR_CONDITIONAL() for minimizing bus message JSON transfo... X-Git-Tag: v240~193^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F10961%2Fhead;p=thirdparty%2Fsystemd.git 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. --- 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");