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

Commit ec2ff8c1 authored by Chih-Hung Hsieh's avatar Chih-Hung Hsieh
Browse files

Fix google-runtime-int warnings.

Bug: 28220065
Change-Id: I6b8e121ddf98355d1c1ac034c2e3522b2b49e14b
parent 1607ea64
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -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;
+4 −3
Original line number Diff line number Diff line
@@ -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;
          }
        }