From: Raphael Date: Fri, 28 Oct 2011 00:01:31 +0000 (-0700) Subject: Cherry-pick f51125d from master to ics-mr0. do not merge. X-Git-Url: https://git.saurik.com/android/aapt.git/commitdiff_plain/5d0c7348b937381dfd2d0948aa54dbbad399e321 Cherry-pick f51125d from master to ics-mr0. do not merge. 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: Ic201faffd871bd4c1b7d173d84b089e09750cd85 --- diff --git a/Resource.cpp b/Resource.cpp index 887fa74..1ecf7da 100644 --- a/Resource.cpp +++ b/Resource.cpp @@ -14,6 +14,14 @@ #include "FileFinder.h" #include "CacheUpdater.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 // ========================================================================== @@ -566,11 +574,11 @@ static bool applyFileOverlay(Bundle *bundle, DefaultKeyedVector > baseFiles = baseGroup->getFiles(); for (size_t i=0; i < baseFiles.size(); i++) { - printf("baseFile %zd has flavor %s\n", i, + printf("baseFile " ZD " has flavor %s\n", (ZD_TYPE) i, baseFiles.keyAt(i).toString().string()); } for (size_t i=0; i < overlayFiles.size(); i++) { - printf("overlayFile %zd has flavor %s\n", i, + printf("overlayFile " ZD " has flavor %s\n", (ZD_TYPE) i, overlayFiles.keyAt(i).toString().string()); } } @@ -584,8 +592,8 @@ static bool applyFileOverlay(Bundle *bundle, keyAt(overlayGroupIndex)); if (baseFileIndex < UNKNOWN_ERROR) { if (bundle->getVerbose()) { - printf("found a match (%zd) for overlay file %s, for flavor %s\n", - baseFileIndex, + printf("found a match (" ZD ") for overlay file %s, for flavor %s\n", + (ZD_TYPE) baseFileIndex, overlayGroup->getLeaf().string(), overlayFiles.keyAt(overlayGroupIndex).toString().string()); } diff --git a/StringPool.cpp b/StringPool.cpp index d067d59..9a0a1c4 100644 --- a/StringPool.cpp +++ b/StringPool.cpp @@ -8,6 +8,14 @@ #include +#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 @@ void printStringPool(const ResStringPool* pool) str = String8(pool->stringAt(s, &len)).string(); } - printf("String #%zd: %s\n", s, str); + printf("String #" ZD ": %s\n", (ZD_TYPE) s, str); } }