Add missing format_arg attribute to check that printf with translated

messages has proper arguments.
This commit is contained in:
Vladimir Serbinenko 2013-12-17 16:42:01 +01:00
parent f4dab3d1ac
commit fe7c20bf9e
2 changed files with 9 additions and 4 deletions

View file

@ -1,3 +1,8 @@
2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
Add missing format_arg attribute to check that printf with translated
messages has proper arguments.
2013-12-17 Vladimir Serbinenko <phcoder@gmail.com> 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
Use grub_xasprintf to format translated error messages containing Use grub_xasprintf to format translated error messages containing

View file

@ -25,7 +25,7 @@
/* NLS can be disabled through the configure --disable-nls option. */ /* NLS can be disabled through the configure --disable-nls option. */
#if (defined(ENABLE_NLS) && ENABLE_NLS) || !defined (GRUB_UTIL) #if (defined(ENABLE_NLS) && ENABLE_NLS) || !defined (GRUB_UTIL)
extern const char *(*EXPORT_VAR(grub_gettext)) (const char *s); extern const char *(*EXPORT_VAR(grub_gettext)) (const char *s) __attribute__ ((format_arg (1)));
# ifdef GRUB_UTIL # ifdef GRUB_UTIL
@ -41,7 +41,7 @@ extern const char *(*EXPORT_VAR(grub_gettext)) (const char *s);
for invalid uses of the value returned from these functions. for invalid uses of the value returned from these functions.
On pre-ANSI systems without 'const', the config.h file is supposed to On pre-ANSI systems without 'const', the config.h file is supposed to
contain "#define const". */ contain "#define const". */
static inline const char * __attribute__ ((always_inline)) static inline const char * __attribute__ ((always_inline,format_arg (1)))
gettext (const char *str) gettext (const char *str)
{ {
return str; return str;
@ -50,13 +50,13 @@ gettext (const char *str)
#endif /* (defined(ENABLE_NLS) && ENABLE_NLS) */ #endif /* (defined(ENABLE_NLS) && ENABLE_NLS) */
#ifdef GRUB_UTIL #ifdef GRUB_UTIL
static inline const char * __attribute__ ((always_inline)) static inline const char * __attribute__ ((always_inline,format_arg (1)))
_ (const char *str) _ (const char *str)
{ {
return gettext(str); return gettext(str);
} }
#else #else
static inline const char * __attribute__ ((always_inline)) static inline const char * __attribute__ ((always_inline,format_arg (1)))
_ (const char *str) _ (const char *str)
{ {
return grub_gettext(str); return grub_gettext(str);