|
Message-Id: <1442125744-27934-1-git-send-email-raj.khem@gmail.com> Date: Sun, 13 Sep 2015 06:29:04 +0000 From: Khem Raj <raj.khem@...il.com> To: musl@...ts.openwall.com Cc: Khem Raj <raj.khem@...il.com> Subject: [PATCH] libintl.h: Add format argument attributes to gettext function prototypes compiling glib-2.0 clang errors out with error: format string is not a string literal when these functions are used, it can be enforced that the format arguments to these gettext* functions be string literals, so that the compiler knows that it always will be string literals Signed-off-by: Khem Raj <raj.khem@...il.com> --- include/libintl.h | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/include/libintl.h b/include/libintl.h index a2dada6..6a707bf 100644 --- a/include/libintl.h +++ b/include/libintl.h @@ -8,16 +8,24 @@ extern "C" { #define __USE_GNU_GETTEXT 1 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 1 : -1) -char *gettext(const char *); -char *dgettext(const char *, const char *); -char *dcgettext(const char *, const char *, int); -char *ngettext(const char *, const char *, unsigned long); -char *dngettext(const char *, const char *, const char *, unsigned long); -char *dcngettext(const char *, const char *, const char *, unsigned long, int); +#if __GNUC__ >= 3 +#define __fa(n) __attribute__ ((__format_arg__ (n))) +#else +#define __fa(n) +#endif + +char *gettext(const char *) __fa(1); +char *dgettext(const char *, const char *) __fa(2); +char *dcgettext(const char *, const char *, int) __fa(2); +char *ngettext(const char *, const char *, unsigned long) __fa(1) __fa(2); +char *dngettext(const char *, const char *, const char *, unsigned long) __fa(2) __fa(3); +char *dcngettext(const char *, const char *, const char *, unsigned long, int) __fa(2) __fa(3); char *textdomain(const char *); char *bindtextdomain (const char *, const char *); char *bind_textdomain_codeset(const char *, const char *); +#undef __fa + #ifdef __cplusplus } #endif -- 2.5.2
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.