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);