AAPT fix printf %zd crash on Windows.
There's no printf %zd on Mingw/Cygwin so the verbose
printf crashes aapt.
SDK bugs: 20395, 20986
Change-Id: I5b8ac36749263205a19f1448b1aaca90d5a2e06d
diff --git a/tools/aapt/StringPool.cpp b/tools/aapt/StringPool.cpp
index d067d59..9a0a1c4 100644
--- a/tools/aapt/StringPool.cpp
+++ b/tools/aapt/StringPool.cpp
@@ -8,6 +8,14 @@
#include <utils/ByteOrder.h>
+#if HAVE_PRINTF_ZD
+# define ZD "%zd"
+# define ZD_TYPE ssize_t
+#else
+# define ZD "%ld"
+# define ZD_TYPE long
+#endif
+
#define NOISY(x) //x
void strcpy16_htod(uint16_t* dst, const uint16_t* src)
@@ -30,7 +38,7 @@
str = String8(pool->stringAt(s, &len)).string();
}
- printf("String #%zd: %s\n", s, str);
+ printf("String #" ZD ": %s\n", (ZD_TYPE) s, str);
}
}