From 6a18272fed981c29117b2d1e9f8a6a63c4564d92 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 2 Sep 2021 13:44:24 +1000 Subject: [PATCH] spa: mark the gettext wrappers with __attribute__((format_arg)) This removes the -Wformat-literal warnings for all _("some message") calls. Remaining warnings are those where we pass in a custom buffer. --- spa/include/spa/support/i18n.h | 1 + spa/include/spa/utils/defs.h | 2 ++ src/pipewire/i18n.h | 4 ++-- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/spa/include/spa/support/i18n.h b/spa/include/spa/support/i18n.h index bca5eb6e2..e135e9e3f 100644 --- a/spa/include/spa/support/i18n.h +++ b/spa/include/spa/support/i18n.h @@ -68,6 +68,7 @@ struct spa_i18n_methods { const char *msgid_plural, unsigned long int n); }; +SPA_FORMAT_ARG_FUNC(2) static inline const char * spa_i18n_text(struct spa_i18n *i18n, const char *msgid) { diff --git a/spa/include/spa/utils/defs.h b/spa/include/spa/utils/defs.h index 36f1789dc..be2dae073 100644 --- a/spa/include/spa/utils/defs.h +++ b/spa/include/spa/utils/defs.h @@ -195,6 +195,7 @@ struct spa_fraction { #ifdef __GNUC__ #define SPA_PRINTF_FUNC(fmt, arg1) __attribute__((format(printf, fmt, arg1))) +#define SPA_FORMAT_ARG_FUNC(arg1) __attribute__((format_arg(arg1))) #define SPA_ALIGNED(align) __attribute__((aligned(align))) #define SPA_DEPRECATED __attribute__ ((deprecated)) #define SPA_EXPORT __attribute__((visibility("default"))) @@ -203,6 +204,7 @@ struct spa_fraction { #define SPA_NORETURN __attribute__ ((noreturn)) #else #define SPA_PRINTF_FUNC(fmt, arg1) +#define SPA_FORMAT_ARG_FUNC(arg1) #define SPA_ALIGNED(align) #define SPA_DEPRECATED #define SPA_EXPORT diff --git a/src/pipewire/i18n.h b/src/pipewire/i18n.h index 4be1d485a..08788f134 100644 --- a/src/pipewire/i18n.h +++ b/src/pipewire/i18n.h @@ -31,8 +31,8 @@ extern "C" { #include -const char *pw_gettext(const char *msgid); -const char *pw_ngettext(const char *msgid, const char *msgid_plural, unsigned long int n); +SPA_FORMAT_ARG_FUNC(1) const char *pw_gettext(const char *msgid); +SPA_FORMAT_ARG_FUNC(1) const char *pw_ngettext(const char *msgid, const char *msgid_plural, unsigned long int n); #define _(String) (pw_gettext(String)) #define N_(String) (String)