|
@@ -1,55 +0,0 @@
|
|
-From 34f631ce80700aa1eaadc032026f12f86584bd8a Mon Sep 17 00:00:00 2001
|
|
|
|
-From: Vadim Kochan <vadim4j@gmail.com>
|
|
|
|
-Date: Mon, 31 Dec 2018 00:40:29 +0200
|
|
|
|
-Subject: [PATCH] gettext-tiny: Fix format not a string literal error
|
|
|
|
-
|
|
|
|
-Add 'format_arg' attribute for the functions which may return string
|
|
|
|
-as formatted parameter, otherwise it fails to compile on high versions
|
|
|
|
-of gcc.
|
|
|
|
-
|
|
|
|
-Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
|
|
|
|
----
|
|
|
|
- include/libintl.h | 27 +++++++++++++++++++++------
|
|
|
|
- 1 file changed, 21 insertions(+), 6 deletions(-)
|
|
|
|
-
|
|
|
|
-diff --git a/include/libintl.h b/include/libintl.h
|
|
|
|
-index b1af2b4..1883e1b 100644
|
|
|
|
---- a/include/libintl.h
|
|
|
|
-+++ b/include/libintl.h
|
|
|
|
-@@ -4,12 +4,27 @@
|
|
|
|
- #ifdef __cplusplus
|
|
|
|
- extern "C" {
|
|
|
|
- #endif
|
|
|
|
--char *gettext(const char *msgid);
|
|
|
|
--char *dgettext(const char *domainname, const char *msgid);
|
|
|
|
--char *dcgettext(const char *domainname, const char *msgid, int category);
|
|
|
|
--char *ngettext(const char *msgid1, const char *msgid2, unsigned long n);
|
|
|
|
--char *dngettext(const char *domainname, const char *msgid1, const char *msgid2, unsigned long n);
|
|
|
|
--char *dcngettext(const char *domainname, const char *msgid1, const char *msgid2, unsigned long n, int category);
|
|
|
|
-+/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return
|
|
|
|
-+ * its n-th argument literally. This enables GCC to warn for example about
|
|
|
|
-+ * printf (gettext ("foo %y")). */
|
|
|
|
-+#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && defined __cplusplus)
|
|
|
|
-+# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n)))
|
|
|
|
-+#else
|
|
|
|
-+# define _INTL_MAY_RETURN_STRING_ARG(n)
|
|
|
|
-+#endif
|
|
|
|
-+
|
|
|
|
-+char *gettext(const char *msgid)
|
|
|
|
-+ _INTL_MAY_RETURN_STRING_ARG(1);
|
|
|
|
-+char *dgettext(const char *domainname, const char *msgid)
|
|
|
|
-+ _INTL_MAY_RETURN_STRING_ARG(2);
|
|
|
|
-+char *dcgettext(const char *domainname, const char *msgid, int category)
|
|
|
|
-+ _INTL_MAY_RETURN_STRING_ARG(2);
|
|
|
|
-+char *ngettext(const char *msgid1, const char *msgid2, unsigned long n)
|
|
|
|
-+ _INTL_MAY_RETURN_STRING_ARG(1) _INTL_MAY_RETURN_STRING_ARG(2);
|
|
|
|
-+char *dngettext(const char *domainname, const char *msgid1, const char *msgid2, unsigned long n)
|
|
|
|
-+ _INTL_MAY_RETURN_STRING_ARG(2) _INTL_MAY_RETURN_STRING_ARG(3);
|
|
|
|
-+char *dcngettext(const char *domainname, const char *msgid1, const char *msgid2, unsigned long n, int category)
|
|
|
|
-+ _INTL_MAY_RETURN_STRING_ARG(2) _INTL_MAY_RETURN_STRING_ARG(3);
|
|
|
|
-
|
|
|
|
- char *textdomain(const char *domainname);
|
|
|
|
- char *bind_textdomain_codeset(const char *domainname, const char *codeset);
|
|
|
|
---
|
|
|
|
-2.14.1
|
|
|
|
-
|
|
|