[PATCH libinput] tools: prefix debug output with '.' on device changes
Eric Engestrom
eric.engestrom at imgtec.com
Wed Sep 14 16:48:26 UTC 2016
On Thu, Sep 08, 2016 at 03:55:47PM +1000, Peter Hutterer wrote:
> We print the sysname, but it's not always obvious when there's an event from
> another device within the stream from another device. Prefix it so it's easier
> to spot and search for.
>
> See https://bugzilla.redhat.com/show_bug.cgi?id=1364850#c3 for an example of
> how such an event can hide.
>
> We only use last_device for comparing pointer values so we don't need a
> reference to the device, it doesn't matter if the device itself goes out of
> scope.
>
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
> tools/event-debug.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/tools/event-debug.c b/tools/event-debug.c
> index 67432b7..0e95611 100644
> --- a/tools/event-debug.c
> +++ b/tools/event-debug.c
> @@ -49,8 +49,11 @@ static unsigned int stop = 0;
> static void
> print_event_header(struct libinput_event *ev)
> {
> + /* use for pointer value only, do not dereference */
> + static struct libinput_device *last_device = NULL;
I would make that a void* to make it clear that it's not meant to be
dereferenced.
> struct libinput_device *dev = libinput_event_get_device(ev);
> const char *type = NULL;
> + char prefix;
>
> switch(libinput_event_get_type(ev)) {
> case LIBINPUT_EVENT_NONE:
> @@ -132,7 +135,14 @@ print_event_header(struct libinput_event *ev)
> break;
> }
>
> - printf("%-7s %-16s ", libinput_device_get_sysname(dev), type);
> + prefix = (last_device != dev) ? '-' : ' ';
Nit: that line would be even shorter within the printf than here on
its own :)
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
> +
> + printf("%c%-7s %-16s ",
> + prefix,
> + libinput_device_get_sysname(dev),
> + type);
> +
> + last_device = dev;
> }
>
> static void
> --
> 2.7.4
More information about the wayland-devel
mailing list