]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
busctl: use new JSON_BUILD_PAIR_CONDITIONAL() for minimizing bus message JSON transfo... 10961/head
authorLennart Poettering <lennart@poettering.net>
Tue, 27 Nov 2018 21:30:30 +0000 (22:30 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 28 Nov 2018 07:38:55 +0000 (08:38 +0100)
Let's not generate object fields that aren't defined for a message.

src/busctl/busctl.c

index aa96fd12a9612ea7967106cb0f11085267c261c1..1b0939cabafd9e9cc74eb557976044c45ba19b63 100644 (file)
@@ -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");