X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-bus%2Fbus-dump.c;h=7b614792cade2c419f299c92ca61b902c370b0a0;hb=8e959fbf3862172b53d200cda659795c3744fa78;hp=469f7baaf586c9460c2e13a62741fc3693c6445e;hpb=3310dfd5bdba0e8218eca1eb6c1fa719adc45bb1;p=elogind.git diff --git a/src/libsystemd-bus/bus-dump.c b/src/libsystemd-bus/bus-dump.c index 469f7baaf..7b614792c 100644 --- a/src/libsystemd-bus/bus-dump.c +++ b/src/libsystemd-bus/bus-dump.c @@ -56,15 +56,21 @@ int bus_message_dump(sd_bus_message *m, FILE *f, bool with_header) { if (with_header) { fprintf(f, - "%s%s%sType=%s%s%s Endian=%c Flags=%u Version=%u Serial=%u ", + "%s%s%sType=%s%s%s Endian=%c Flags=%u Version=%u", m->header->type == SD_BUS_MESSAGE_METHOD_ERROR ? ansi_highlight_red() : m->header->type == SD_BUS_MESSAGE_METHOD_RETURN ? ansi_highlight_green() : m->header->type != SD_BUS_MESSAGE_SIGNAL ? ansi_highlight() : "", draw_special_char(DRAW_TRIANGULAR_BULLET), ansi_highlight_off(), ansi_highlight(), bus_message_type_to_string(m->header->type), ansi_highlight_off(), m->header->endian, m->header->flags, - m->header->version, - BUS_MESSAGE_SERIAL(m)); + m->header->version); + + /* Display synthetic message serial number in a more readable + * format than (uint32_t) -1 */ + if (BUS_MESSAGE_SERIAL(m) == 0xFFFFFFFFULL) + fprintf(f, " Serial=-1"); + else + fprintf(f, " Serial=%u", BUS_MESSAGE_SERIAL(m)); if (m->reply_serial != 0) fprintf(f, " ReplySerial=%u", m->reply_serial); @@ -111,7 +117,7 @@ int bus_message_dump(sd_bus_message *m, FILE *f, bool with_header) { fprintf(f, " MESSAGE \"%s\" {\n", strempty(m->root_container.signature)); - for(;;) { + for (;;) { _cleanup_free_ char *prefix = NULL; const char *contents = NULL; char type; @@ -194,7 +200,7 @@ int bus_message_dump(sd_bus_message *m, FILE *f, bool with_header) { break; case SD_BUS_TYPE_BOOLEAN: - fprintf(f, "%sBOOLEAN %s%s%s;\n", prefix, ansi_highlight(), yes_no(basic.i), ansi_highlight_off()); + fprintf(f, "%sBOOLEAN %s%s%s;\n", prefix, ansi_highlight(), true_false(basic.i), ansi_highlight_off()); break; case SD_BUS_TYPE_INT16: