aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJia Tan <jiat0218@gmail.com>2023-01-11 22:46:48 +0800
committerLasse Collin <lasse.collin@tukaani.org>2023-01-11 17:31:54 +0200
commitaea639e81beb548e3114c74b6d9a894d6e036189 (patch)
tree82adfb2192f135af2759380a3531c40c5d577405
parentTests: Fix test_filter_flags copy/paste error. (diff)
downloadxz-aea639e81beb548e3114c74b6d9a894d6e036189.tar.xz
xz: Fix warning -Wformat-nonliteral on clang in message.c.
clang and gcc differ in how they handle -Wformat-nonliteral. gcc will allow a non-literal format string as long as the function takes its format arguments as a va_list.
-rw-r--r--src/xz/message.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/xz/message.c b/src/xz/message.c
index 4b577656..c54ebc5b 100644
--- a/src/xz/message.c
+++ b/src/xz/message.c
@@ -723,7 +723,16 @@ vmessage(enum message_verbosity v, const char *fmt, va_list ap)
// This is a translatable string because French needs
// a space before a colon.
fprintf(stderr, _("%s: "), progname);
+
+#ifdef __clang__
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wformat-nonliteral"
+#endif
vfprintf(stderr, fmt, ap);
+#ifdef __clang__
+# pragma GCC diagnostic pop
+#endif
+
fputc('\n', stderr);
signals_unblock();