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 <vda.linux@googlemail.com>
diff --git a/procps/nmeter.c b/procps/nmeter.c
index a01d19a..f0eb367 100644
--- a/procps/nmeter.c
+++ b/procps/nmeter.c
@@ -351,7 +351,7 @@
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 @@
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 @@
{
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 */