aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJia Tan <jiat0218@gmail.com>2023-01-11 22:46:48 +0800
committerGitHub <noreply@github.com>2023-01-11 22:46:48 +0800
commitd1561c47ec8cd3844a785d3741dc932f9b9c5790 (patch)
tree001b6cae56b61f904bced9668aedd41c1b774b22 /src
parentTests: Fix test_filter_flags copy/paste error. (diff)
downloadxz-d1561c47ec8cd3844a785d3741dc932f9b9c5790.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.
Diffstat (limited to 'src')
-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();