From: Peter Hutterer Date: Thu, 22 Jul 2021 05:11:32 +0000 (+1000) Subject: Silence compiler warnings for -Wformat-nonliteral X-Git-Tag: 1.18.901~38 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fc70c4f862972305a07b206c86c84d3e67e4ec81;p=platform%2Fupstream%2Flibinput.git Silence compiler warnings for -Wformat-nonliteral In the various logging functions where we need to modify the format argument, disable the compiler warnings. Interestingly, GCC doesn't seem to mind those but building with clang unleashes pages of warnings. Signed-off-by: Peter Hutterer --- diff --git a/src/evdev.c b/src/evdev.c index dc3eb43e..36c782f2 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -2191,7 +2191,10 @@ libevdev_log_func(const struct libevdev *evdev, snprintf(fmt, sizeof(fmt), "%s%s", prefix, format); +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wformat-nonliteral" log_msg_va(libinput, pri, fmt, args); +#pragma GCC diagnostic pop } static bool diff --git a/src/evdev.h b/src/evdev.h index 0a4798f2..0732063c 100644 --- a/src/evdev.h +++ b/src/evdev.h @@ -775,7 +775,10 @@ evdev_log_msg(struct evdev_device *device, format); va_start(args, format); +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wformat-nonliteral" log_msg_va(evdev_libinput_context(device), priority, buf, args); +#pragma GCC diagnostic pop va_end(args); } @@ -810,7 +813,10 @@ evdev_log_msg_ratelimit(struct evdev_device *device, format); va_start(args, format); +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wformat-nonliteral" log_msg_va(evdev_libinput_context(device), priority, buf, args); +#pragma GCC diagnostic pop va_end(args); if (state == RATELIMIT_THRESHOLD) { diff --git a/tools/libinput-quirks.c b/tools/libinput-quirks.c index 434bca3f..173e5c22 100644 --- a/tools/libinput-quirks.c +++ b/tools/libinput-quirks.c @@ -67,7 +67,10 @@ log_handler(struct libinput *this_is_null, } snprintf(buf, sizeof(buf), "%s: %s", prefix, format); +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wformat-nonliteral" vfprintf(out, buf, args); +#pragma GCC diagnostic pop } static void diff --git a/tools/libinput-record.c b/tools/libinput-record.c index b12132fc..8ed14b5d 100644 --- a/tools/libinput-record.c +++ b/tools/libinput-record.c @@ -210,7 +210,10 @@ iprintf(FILE *fp, snprintf(fmt, sizeof(fmt), "%s%s", &space[len - indent - 1], format); va_start(args, format); +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wformat-nonliteral" rc = vfprintf(fp, fmt, args); +#pragma GCC diagnostic pop va_end(args); assert(rc != -1 && (unsigned int)rc > indent);