nmeter: do not clamp down %Nc to minimum of 10 (think nmeter "%nprocc")

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>
This commit is contained in:
Denys Vlasenko 2019-08-06 16:56:00 +02:00
parent b81f805658
commit 85b380f6b2

View File

@ -351,7 +351,7 @@ static s_stat* init_cr(const char *param UNUSED_PARAM)
enum { CPU_FIELDCNT = 7 }; enum { CPU_FIELDCNT = 7 };
S_STAT(cpu_stat) S_STAT(cpu_stat)
ullong old[CPU_FIELDCNT]; ullong old[CPU_FIELDCNT];
int bar_sz; unsigned bar_sz;
char bar[1]; char bar[1];
S_STAT_END(cpu_stat) 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 }; ullong data[CPU_FIELDCNT] = { 0, 0, 0, 0, 0, 0, 0 };
unsigned frac[CPU_FIELDCNT] = { 0, 0, 0, 0, 0, 0, 0 }; unsigned frac[CPU_FIELDCNT] = { 0, 0, 0, 0, 0, 0, 0 };
ullong all = 0; ullong all = 0;
int norm_all = 0; unsigned norm_all = 0;
int bar_sz = s->bar_sz; unsigned bar_sz = s->bar_sz;
char *bar = s->bar; char *bar = s->bar;
int i; int i;
@ -420,8 +420,8 @@ static s_stat* init_cpu(const char *param)
{ {
int sz; int sz;
cpu_stat *s; cpu_stat *s;
sz = strtoul(param, NULL, 0); /* param can be "" */ sz = param[0] ? strtoul(param, NULL, 0) : 10;
if (sz < 10) sz = 10; if (sz <= 0) sz = 1;
if (sz > 1000) sz = 1000; if (sz > 1000) sz = 1000;
s = xzalloc(sizeof(*s) + sz); s = xzalloc(sizeof(*s) + sz);
/*s->bar[sz] = '\0'; - xzalloc did it */ /*s->bar[sz] = '\0'; - xzalloc did it */