[PATCH libinput 1/3] Mark some internal log functions as printf-style function
Eric Engestrom
eric.engestrom at imgtec.com
Mon Oct 24 09:13:27 UTC 2016
On Monday, 2016-10-24 11:45:17 +1000, Peter Hutterer wrote:
> Fixes the respective clang warnings
>
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
> src/libinput.c | 6 ++++++
> test/litest.c | 16 ++++++++++++++++
> test/misc.c | 7 +++++++
> tools/event-gui.c | 8 ++++++++
> tools/shared.c | 7 +++++++
> 5 files changed, 44 insertions(+)
>
> diff --git a/src/libinput.c b/src/libinput.c
> index 6958042..ec1c72a 100644
> --- a/src/libinput.c
> +++ b/src/libinput.c
> @@ -163,6 +163,12 @@ static void
> libinput_default_log_func(struct libinput *libinput,
> enum libinput_log_priority priority,
> const char *format, va_list args)
> + LIBINPUT_ATTRIBUTE_PRINTF(3, 0);
> +
> +static void
> +libinput_default_log_func(struct libinput *libinput,
> + enum libinput_log_priority priority,
> + const char *format, va_list args)
> {
I'm not sure why you're adding a prototype here; is there also a warning
about this? (There shouldn't be, it's a static function.) If so, mention it
in the commit log?
Anyway, I'm pretty sure just adding this one line would fix the printf
warning too:
+LIBINPUT_ATTRIBUTE_PRINTF(3, 0)
static void
libinput_default_log_func(struct libinput *libinput,
enum libinput_log_priority priority,
const char *format, va_list args)
+/* You can also add the attribute here if you prefer */
{
(Obviously, the same suggestion applies to all the functions in this patch.)
Patches 2 & 3 look good to me:
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
> const char *prefix;
>
> diff --git a/test/litest.c b/test/litest.c
> index 4c301b5..940cf79 100644
> --- a/test/litest.c
> +++ b/test/litest.c
> @@ -270,6 +270,15 @@ litest_fail_condition(const char *file,
> const char *condition,
> const char *message,
> ...)
> + LIBINPUT_ATTRIBUTE_PRINTF(5, 6);
> +
> +void
> +litest_fail_condition(const char *file,
> + int line,
> + const char *func,
> + const char *condition,
> + const char *message,
> + ...)
> {
> litest_log("FAILED: %s\n", condition);
>
> @@ -761,6 +770,13 @@ litest_log_handler(struct libinput *libinput,
> enum libinput_log_priority pri,
> const char *format,
> va_list args)
> + LIBINPUT_ATTRIBUTE_PRINTF(3, 0);
> +
> +static void
> +litest_log_handler(struct libinput *libinput,
> + enum libinput_log_priority pri,
> + const char *format,
> + va_list args)
> {
> const char *priority = NULL;
>
> diff --git a/test/misc.c b/test/misc.c
> index 791ebc3..44c4502 100644
> --- a/test/misc.c
> +++ b/test/misc.c
> @@ -852,6 +852,13 @@ simple_log_handler(struct libinput *libinput,
> enum libinput_log_priority priority,
> const char *format,
> va_list args)
> + LIBINPUT_ATTRIBUTE_PRINTF(3, 0);
> +
> +static void
> +simple_log_handler(struct libinput *libinput,
> + enum libinput_log_priority priority,
> + const char *format,
> + va_list args)
> {
> vfprintf(stderr, format, args);
> }
> diff --git a/tools/event-gui.c b/tools/event-gui.c
> index b67ca45..e5fb26a 100644
> --- a/tools/event-gui.c
> +++ b/tools/event-gui.c
> @@ -110,6 +110,10 @@ struct window {
>
> static int
> error(const char *fmt, ...)
> + LIBINPUT_ATTRIBUTE_PRINTF(1, 2);
> +
> +static int
> +error(const char *fmt, ...)
> {
> va_list args;
> fprintf(stderr, "error: ");
> @@ -123,6 +127,10 @@ error(const char *fmt, ...)
>
> static void
> msg(const char *fmt, ...)
> + LIBINPUT_ATTRIBUTE_PRINTF(1, 2);
> +
> +static void
> +msg(const char *fmt, ...)
> {
> va_list args;
> printf("info: ");
> diff --git a/tools/shared.c b/tools/shared.c
> index 95655ba..f539957 100644
> --- a/tools/shared.c
> +++ b/tools/shared.c
> @@ -70,6 +70,13 @@ log_handler(struct libinput *li,
> enum libinput_log_priority priority,
> const char *format,
> va_list args)
> + LIBINPUT_ATTRIBUTE_PRINTF(3, 0);
> +
> +static void
> +log_handler(struct libinput *li,
> + enum libinput_log_priority priority,
> + const char *format,
> + va_list args)
> {
> vprintf(format, args);
> }
> --
> 2.9.3
>
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/wayland-devel
More information about the wayland-devel
mailing list