From: Denys Vlasenko Date: Tue, 6 Aug 2019 14:56:00 +0000 (+0200) Subject: nmeter: do not clamp down %Nc to minimum of 10 (think nmeter "%`nproc`c") X-Git-Tag: 1_32_0~173 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=85b380f6b21816b3392a987d35cfc79c25ec0ffd;p=oweals%2Fbusybox.git nmeter: do not clamp down %Nc to minimum of 10 (think nmeter "%`nproc`c") Also, go for unsigned divisions. function old new delta init_cpu 61 73 +12 collect_cpu 444 422 -22 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 12/-22) Total: -10 bytes Signed-off-by: Denys Vlasenko --- diff --git a/procps/nmeter.c b/procps/nmeter.c index a01d19a6a..f0eb36740 100644 --- a/procps/nmeter.c +++ b/procps/nmeter.c @@ -351,7 +351,7 @@ static s_stat* init_cr(const char *param UNUSED_PARAM) enum { CPU_FIELDCNT = 7 }; S_STAT(cpu_stat) ullong old[CPU_FIELDCNT]; - int bar_sz; + unsigned bar_sz; char bar[1]; S_STAT_END(cpu_stat) @@ -360,8 +360,8 @@ static void FAST_FUNC collect_cpu(cpu_stat *s) ullong data[CPU_FIELDCNT] = { 0, 0, 0, 0, 0, 0, 0 }; unsigned frac[CPU_FIELDCNT] = { 0, 0, 0, 0, 0, 0, 0 }; ullong all = 0; - int norm_all = 0; - int bar_sz = s->bar_sz; + unsigned norm_all = 0; + unsigned bar_sz = s->bar_sz; char *bar = s->bar; int i; @@ -420,8 +420,8 @@ static s_stat* init_cpu(const char *param) { int sz; cpu_stat *s; - sz = strtoul(param, NULL, 0); /* param can be "" */ - if (sz < 10) sz = 10; + sz = param[0] ? strtoul(param, NULL, 0) : 10; + if (sz <= 0) sz = 1; if (sz > 1000) sz = 1000; s = xzalloc(sizeof(*s) + sz); /*s->bar[sz] = '\0'; - xzalloc did it */