← Commit list

fc1e9951c

Denis Vlasenko
Denis Vlasenko
2007-08-29
FAILED Duration: 17s

Subject

vsz and rss are unsigned longs (ulong ~= width of void* => suitable for expressing total RAM in system). We account for "32 bit in 64 bit" systems by storing kbytes, not bytes there. Should allow for up to ~2000 Gb RAM on 32 bits.

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

include/libbb.h+1 -1
@@ -891,7 +891,7 @@ typedef struct procps_status_t {
USE_SELINUX(char *context;)
/* Everything below must contain no ptrs to malloc'ed data:
* it is memset(0) for each process in procps_scan() */
- unsigned vsz, rss; /* we round it to kbytes */
+ unsigned long vsz, rss; /* we round it to kbytes */
unsigned long stime, utime;
unsigned pid;
unsigned ppid;
procps/ps.c+4 -4
@@ -48,7 +48,7 @@ static void func_pgid(char *buf, int size, const procps_status_t *ps)
sprintf(buf, "%*u", size, ps->pgid);
}
-static void put_u(char *buf, int size, unsigned u)
+static void put_lu(char *buf, int size, unsigned long u)
{
char buf5[5];
smart_ulltoa5( ((unsigned long long)u) << 10, buf5);
@@ -57,12 +57,12 @@ static void put_u(char *buf, int size, unsigned u)
static void func_vsz(char *buf, int size, const procps_status_t *ps)
{
- put_u(buf, size, ps->vsz);
+ put_lu(buf, size, ps->vsz);
}
static void func_rss(char *buf, int size, const procps_status_t *ps)
{
- put_u(buf, size, ps->rss);
+ put_lu(buf, size, ps->rss);
}
static void func_tty(char *buf, int size, const procps_status_t *ps)
@@ -405,7 +405,7 @@ int ps_main(int argc, char **argv)
len = printf("%5u %-8s %s ",
p->pid, user, p->state);
else
- len = printf("%5u %-8s %6u %s ",
+ len = printf("%5u %-8s %6lu %s ",
p->pid, user, p->vsz, p->state);
}