From bcd8a71a28fcee41dffe4de552f3a7bfc733423c Mon Sep 17 00:00:00 2001 From: xiaoxichen Date: Fri, 27 Mar 2015 08:38:53 +0800 Subject: [PATCH] Fix interger overflow on i386 arch The error was: util/logging.cc: In function 'int rocksdb::AppendHumanMicros(uint64_t, char*, int)': error: util/logging.cc:41:39: integer overflow in expression [-Werror=overflow] } else if (micros < 1000000l * 60 * 60) { ^ error: util/logging.cc:41:39: comparison between signed and unsigned integer expressions [-Werror=sign-compare] --- util/logging.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/logging.cc b/util/logging.cc index e2d1fb346..c8cd1217e 100644 --- a/util/logging.cc +++ b/util/logging.cc @@ -38,7 +38,7 @@ int AppendHumanMicros(uint64_t micros, char* output, int len) { } else if (micros < 1000000l * 60) { return snprintf(output, len, "%.3lf sec", static_cast(micros) / 1000000); - } else if (micros < 1000000l * 60 * 60) { + } else if (micros < 1000000ll * 60 * 60) { return snprintf(output, len, "%02" PRIu64 ":%05.3f M:S", micros / 1000000 / 60, static_cast(micros % 60000000) / 1000000);