summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2019-08-06 16:56:00 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2019-08-06 16:59:50 +0200
commit85b380f6b21816b3392a987d35cfc79c25ec0ffd (patch)
tree21e217596ee78343bc9c354353c99d420147fc72
parentb81f80565854d59c0209a6dbaa2022caa6f0d468 (diff)
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>
-rw-r--r--procps/nmeter.c10
1 files changed, 5 insertions, 5 deletions
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 */