chiark / gitweb /
bus: make sd_bus_request_name() and sd_bus_release_name() behave more like other...
[elogind.git] / src / libsystemd-bus / bus-dump.c
index 469f7baaf586c9460c2e13a62741fc3693c6445e..71de081649c433caa14dd1eb609d370efaf4c5be 100644 (file)
@@ -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);