[systemd-devel] [PATCH] Display synthetic message serial number in a more readable format than (uint32_t) -1

Lennart Poettering lennart at poettering.net
Mon Dec 2 08:35:40 PST 2013


On Mon, 02.12.13 16:31, Lukasz Skalski (l.skalski at partner.samsung.com) wrote:

> Serial=4294967295 field in message dump generated by bus_message_dump()
> function for synthetic messages isn't good readable.

Thanks! Applied!

> ---
>  src/libsystemd-bus/bus-dump.c | 12 +++++++++---
>  1 file changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/src/libsystemd-bus/bus-dump.c b/src/libsystemd-bus/bus-dump.c
> index 469f7ba..71de081 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);


Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list