Fix google-runtime-int warnings.

Bug: 28220065
Change-Id: I6b8e121ddf98355d1c1ac034c2e3522b2b49e14b
This commit is contained in:
Chih-Hung Hsieh 2016-04-18 14:45:46 -07:00
parent 1607ea64cb
commit ec2ff8c176
2 changed files with 9 additions and 7 deletions

View File

@ -15,6 +15,7 @@
*/
#include <ctype.h>
#include <inttypes.h>
#include <stdint.h>
#include <sys/types.h>
#include <unistd.h>
@ -46,8 +47,8 @@ void BacktraceMap::FillIn(uintptr_t addr, backtrace_map_t* map) {
}
bool BacktraceMap::ParseLine(const char* line, backtrace_map_t* map) {
unsigned long int start;
unsigned long int end;
uint64_t start;
uint64_t end;
char permissions[5];
int name_pos;
@ -56,14 +57,14 @@ bool BacktraceMap::ParseLine(const char* line, backtrace_map_t* map) {
// __TEXT 0009f000-000a1000 [ 8K 8K] r-x/rwx SM=COW /Volumes/android/dalvik-dev/out/host/darwin-x86/bin/libcorkscrew_test\n
// 012345678901234567890123456789012345678901234567890123456789
// 0 1 2 3 4 5
if (sscanf(line, "%*21c %lx-%lx [%*13c] %3c/%*3c SM=%*3c %n",
if (sscanf(line, "%*21c %" SCNx64 "-%" SCNx64 " [%*13c] %3c/%*3c SM=%*3c %n",
&start, &end, permissions, &name_pos) != 3) {
#else
// Linux /proc/<pid>/maps lines:
// 6f000000-6f01e000 rwxp 00000000 00:0c 16389419 /system/lib/libcomposer.so\n
// 012345678901234567890123456789012345678901234567890123456789
// 0 1 2 3 4 5
if (sscanf(line, "%lx-%lx %4s %*x %*x:%*x %*d %n",
if (sscanf(line, "%" SCNx64 "-%" SCNx64 " %4s %*x %*x:%*x %*d %n",
&start, &end, permissions, &name_pos) != 3) {
#endif
return false;

View File

@ -33,7 +33,7 @@
#define PAGEMAP_SWAP_OFFSET(x) (_BITS(x, 5, 50))
#define PAGEMAP_SWAP_TYPE(x) (_BITS(x, 0, 5))
static bool ReadData(int fd, unsigned long place, uint64_t *data) {
static bool ReadData(int fd, off_t place, uint64_t *data) {
if (lseek(fd, place * sizeof(uint64_t), SEEK_SET) < 0) {
return false;
}
@ -71,12 +71,13 @@ size_t GetPssBytes() {
total_pss = 0;
break;
}
for (size_t page = start/pagesize; page < end/pagesize; page++) {
for (off_t page = static_cast<off_t>(start/pagesize);
page < static_cast<off_t>(end/pagesize); page++) {
uint64_t data;
if (ReadData(pagemap_fd, page, &data)) {
if (PAGEMAP_PRESENT(data) && !PAGEMAP_SWAPPED(data)) {
uint64_t count;
if (ReadData(pagecount_fd, PAGEMAP_PFN(data), &count)) {
if (ReadData(pagecount_fd, static_cast<off_t>(PAGEMAP_PFN(data)), &count)) {
total_pss += (count >= 1) ? pagesize / count : 0;
}
}