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
This commit is contained in:
@ -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<AaptGroupEntry, sp<AaptFile> > 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());
|
||||
}
|
||||
|
@ -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 @@ 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);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user