X-Git-Url: https://git.saurik.com/android/aapt.git/blobdiff_plain/30275038bb13ac252ffe19c89f9f8a5526541f0f..7e766d8ef82164c727a05b7075b99f3454d4cc19:/StringPool.cpp

diff --git a/StringPool.cpp b/StringPool.cpp
index ec58591..9a0a1c4 100644
--- a/StringPool.cpp
+++ b/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)
@@ -25,8 +33,12 @@ void printStringPool(const ResStringPool* pool)
     const size_t NS = pool->size();
     for (size_t s=0; s<NS; s++) {
         size_t len;
-        printf("String #%d: %s\n", s,
-                String8(pool->stringAt(s, &len)).string());
+        const char *str = (const char*)pool->string8At(s, &len);
+        if (str == NULL) {
+            str = String8(pool->stringAt(s, &len)).string();
+        }
+
+        printf("String #" ZD ": %s\n", (ZD_TYPE) s, str);
     }
 }