diff options
author | Spencer Low <CompareAndSwap@gmail.com> | 2015-05-13 00:02:55 -0700 |
---|---|---|
committer | Spencer Low <CompareAndSwap@gmail.com> | 2015-05-13 19:30:30 -0700 |
commit | 6001c87cbcafba68975fd9b3aa69f4952396f83c (patch) | |
tree | 0908abe4dc96ed631c280f081a0762e4ff65b3da /libutils/Unicode.cpp | |
parent | 74f0a578a8ee0957b849e811af5fc30c74be55f0 (diff) |
adb: win32: fix StringPrintf format string checking of %zd and PRIu64
At runtime, vsnprintf (and android::base::StringPrintf which calls it)
call a mingw version of vsnprintf, not the vsnprintf from MSVCRT.DLL.
The mingw version properly understands %zd and PRIu64 (the latter,
provided that you #include <inttypes.h>).
The problem was that android::base::StringPrintf was causing
compile-time errors saying that %zd and PRIu64 were not recognized. It
seems that this was because the attribute on the function prototypes
specified `printf' instead of `gnu_printf'. Once that was fixed to match
vsnprintf's attribute, the warnings went away.
This uses similar preprocessor techniques as <android/log.h>.
Also restore a %zd usage to avoid a static_cast<>, and make
print_transfer_progress()'s format string compile-time checkable (and
tweak some types and %llu => PRIu64).
Change-Id: I80b31b9994858a28cb7c6847143b86108b8ab842
Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
Diffstat (limited to 'libutils/Unicode.cpp')
0 files changed, 0 insertions, 0 deletions