Add __attribute__((__format__)) to fastboot's die().
Also make the <android-base/stringprintf.h> macro less likely to collide. Bug: N/A Test: builds Change-Id: I868a0a0002c9c53c1ec0670153df2af5f48fd969
This commit is contained in:
parent
a1e27d342e
commit
3d7fa22164
|
@ -28,27 +28,27 @@ namespace base {
|
|||
// if the mingw version of vsnprintf is used, use `gnu_printf' which allows z
|
||||
// in %zd and PRIu64 (and related) to be recognized by the compile-time
|
||||
// checking.
|
||||
#define FORMAT_ARCHETYPE __printf__
|
||||
#define ANDROID_BASE_FORMAT_ARCHETYPE __printf__
|
||||
#ifdef __USE_MINGW_ANSI_STDIO
|
||||
#if __USE_MINGW_ANSI_STDIO
|
||||
#undef FORMAT_ARCHETYPE
|
||||
#define FORMAT_ARCHETYPE gnu_printf
|
||||
#undef ANDROID_BASE_FORMAT_ARCHETYPE
|
||||
#define ANDROID_BASE_FORMAT_ARCHETYPE gnu_printf
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Returns a string corresponding to printf-like formatting of the arguments.
|
||||
std::string StringPrintf(const char* fmt, ...)
|
||||
__attribute__((__format__(FORMAT_ARCHETYPE, 1, 2)));
|
||||
__attribute__((__format__(ANDROID_BASE_FORMAT_ARCHETYPE, 1, 2)));
|
||||
|
||||
// Appends a printf-like formatting of the arguments to 'dst'.
|
||||
void StringAppendF(std::string* dst, const char* fmt, ...)
|
||||
__attribute__((__format__(FORMAT_ARCHETYPE, 2, 3)));
|
||||
__attribute__((__format__(ANDROID_BASE_FORMAT_ARCHETYPE, 2, 3)));
|
||||
|
||||
// Appends a printf-like formatting of the arguments to 'dst'.
|
||||
void StringAppendV(std::string* dst, const char* format, va_list ap)
|
||||
__attribute__((__format__(FORMAT_ARCHETYPE, 2, 0)));
|
||||
__attribute__((__format__(ANDROID_BASE_FORMAT_ARCHETYPE, 2, 0)));
|
||||
|
||||
#undef FORMAT_ARCHETYPE
|
||||
#undef ANDROID_BASE_FORMAT_ARCHETYPE
|
||||
|
||||
} // namespace base
|
||||
} // namespace android
|
||||
|
|
|
@ -75,7 +75,22 @@ void fb_set_active(const char *slot);
|
|||
/* util stuff */
|
||||
double now();
|
||||
char *mkmsg(const char *fmt, ...);
|
||||
__attribute__((__noreturn__)) void die(const char *fmt, ...);
|
||||
|
||||
// These printf-like functions are implemented in terms of vsnprintf, so they
|
||||
// use the same attribute for compile-time format string checking. On Windows,
|
||||
// if the mingw version of vsnprintf is used, use `gnu_printf' which allows z
|
||||
// in %zd and PRIu64 (and related) to be recognized by the compile-time
|
||||
// checking.
|
||||
#define FASTBOOT_FORMAT_ARCHETYPE __printf__
|
||||
#ifdef __USE_MINGW_ANSI_STDIO
|
||||
#if __USE_MINGW_ANSI_STDIO
|
||||
#undef FASTBOOT_FORMAT_ARCHETYPE
|
||||
#define FASTBOOT_FORMAT_ARCHETYPE gnu_printf
|
||||
#endif
|
||||
#endif
|
||||
void die(const char* fmt, ...) __attribute__((__noreturn__))
|
||||
__attribute__((__format__(FASTBOOT_FORMAT_ARCHETYPE, 1, 2)));
|
||||
#undef FASTBOOT_FORMAT_ARCHETYPE
|
||||
|
||||
/* Current product */
|
||||
extern char cur_product[FB_RESPONSE_SZ + 1];
|
||||
|
|
Loading…
Reference in New Issue