Fixed several 64-bit porting issues

1. Use "%zu" instead of "%d" for size_t in printf
2. Variable precision specifier (eg. "%.*s") in printf should be of type int.
   (iov_len is size_t which is 64-bit when compiled with -m64)
3. Use PRId64 instead of "%lld" to print variables of type int64_t

Change-Id: I2be40a6514b5dffa0038d62b9bccc3401b8756e6
This commit is contained in:
Andrew Hsieh 2012-02-27 18:50:55 -08:00
parent a05349407d
commit 0ae8c14b4b
4 changed files with 11 additions and 7 deletions

View File

@ -183,7 +183,7 @@ size_t BlobCache::getFdCount() const {
status_t BlobCache::flatten(void* buffer, size_t size, int fds[], size_t count)
const {
if (count != 0) {
ALOGE("flatten: nonzero fd count: %d", count);
ALOGE("flatten: nonzero fd count: %zu", count);
return BAD_VALUE;
}
@ -234,7 +234,7 @@ status_t BlobCache::unflatten(void const* buffer, size_t size, int fds[],
mCacheEntries.clear();
if (count != 0) {
ALOGE("unflatten: nonzero fd count: %d", count);
ALOGE("unflatten: nonzero fd count: %zu", count);
return BAD_VALUE;
}

View File

@ -199,7 +199,7 @@ void printHexData(int32_t indent, const void *buf, size_t length,
if ((int32_t)length < 0) {
if (singleLineBytesCutoff < 0) func(cookie, "\n");
char buf[64];
sprintf(buf, "(bad length: %d)", length);
sprintf(buf, "(bad length: %zu)", length);
func(cookie, buf);
return;
}

View File

@ -57,8 +57,8 @@ protected:
virtual status_t writeLines(const struct iovec& vec, size_t N)
{
//android_writevLog(&vec, N); <-- this is now a no-op
if (N != 1) ALOGI("WARNING: writeLines N=%d\n", N);
ALOGI("%.*s", vec.iov_len, (const char*) vec.iov_base);
if (N != 1) ALOGI("WARNING: writeLines N=%zu\n", N);
ALOGI("%.*s", (int)vec.iov_len, (const char*) vec.iov_base);
return NO_ERROR;
}
};

View File

@ -20,6 +20,10 @@
#include <stdlib.h>
#include <stdio.h>
/* for PRId64 */
#define __STDC_FORMAT_MACROS 1
#include <inttypes.h>
#include <utils/Log.h>
#include <utils/Errors.h>
#include <utils/StopWatch.h>
@ -39,11 +43,11 @@ StopWatch::~StopWatch()
{
nsecs_t elapsed = elapsedTime();
const int n = mNumLaps;
ALOGD("StopWatch %s (us): %lld ", mName, ns2us(elapsed));
ALOGD("StopWatch %s (us): %" PRId64 " ", mName, ns2us(elapsed));
for (int i=0 ; i<n ; i++) {
const nsecs_t soFar = mLaps[i].soFar;
const nsecs_t thisLap = mLaps[i].thisLap;
ALOGD(" [%d: %lld, %lld]", i, ns2us(soFar), ns2us(thisLap));
ALOGD(" [%d: %" PRId64 ", %" PRId64, i, ns2us(soFar), ns2us(thisLap));
}
}