Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d9df2245 authored by Andrew Hsieh's avatar Andrew Hsieh
Browse files

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
parent 4709a11b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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;
    }

+1 −1
Original line number Diff line number Diff line
@@ -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;
    }
+2 −2
Original line number Diff line number Diff line
@@ -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;
    }
};
+6 −2
Original line number Diff line number Diff line
@@ -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));
    }
}