summaryrefslogtreecommitdiff
path: root/libbb/procps.c
diff options
context:
space:
mode:
authorDenys Vlasenko2018-12-30 20:24:59 +0100
committerDenys Vlasenko2018-12-31 15:18:45 +0100
commitaad76968cd5934ee17f36cd8e817e86ae952b533 (patch)
tree40eefffb52e8ed3c75747457980630facef783dd /libbb/procps.c
parent8b710ef000c383f3476245b27bacf034532d9786 (diff)
downloadbusybox-aad76968cd5934ee17f36cd8e817e86ae952b533.zip
busybox-aad76968cd5934ee17f36cd8e817e86ae952b533.tar.gz
pmap: make 32-bit version work better on 64-bit kernels
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb/procps.c')
-rw-r--r--libbb/procps.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libbb/procps.c b/libbb/procps.c
index 9d8a921..af3ad86 100644
--- a/libbb/procps.c
+++ b/libbb/procps.c
@@ -120,11 +120,11 @@ void FAST_FUNC free_procps_scan(procps_status_t* sp)
}
#if ENABLE_FEATURE_TOPMEM || ENABLE_PMAP
-static unsigned long fast_strtoul_16(char **endptr)
+static unsigned long long fast_strtoull_16(char **endptr)
{
unsigned char c;
char *str = *endptr;
- unsigned long n = 0;
+ unsigned long long n = 0;
/* Need to stop on both ' ' and '\n' */
while ((c = *str++) > ' ') {
@@ -238,8 +238,8 @@ int FAST_FUNC procps_read_smaps(pid_t pid, struct smaprec *total,
*tp = ' ';
tp = buf;
- currec.smap_start = fast_strtoul_16(&tp);
- currec.smap_size = (fast_strtoul_16(&tp) - currec.smap_start) >> 10;
+ currec.smap_start = fast_strtoull_16(&tp);
+ currec.smap_size = (fast_strtoull_16(&tp) - currec.smap_start) >> 10;
strncpy(currec.smap_mode, tp, sizeof(currec.smap_mode)-1);