From 41384b4829db50c7b7ba07c720d299ce098d320d Mon Sep 17 00:00:00 2001 From: Ron Yorston Date: Tue, 15 Aug 2023 08:38:21 +0100 Subject: ash: code shrink Move the code to handle the case nprocs == 1 from jobtab_size() to procstat_size(). Saves 16 bytes. --- shell/ash.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/shell/ash.c b/shell/ash.c index d0ecd501a..c60657b9b 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -16750,9 +16750,12 @@ procstat_size(struct datasize ds, int nj) { struct job *jp = jobtab + nj; - ds.funcblocksize += sizeof(struct procstat) * jp->nprocs; + if (jp->ps != &jp->ps0) + ds.funcblocksize += sizeof(struct procstat) * jp->nprocs; + for (int i = 0; i < jp->nprocs; i++) ds.funcstringsize += align_len(jp->ps[i].ps_cmd); + return ds; } @@ -16780,16 +16783,9 @@ procstat_copy(int nj) static struct datasize jobtab_size(struct datasize ds) { - int i; - ds.funcblocksize += sizeof(struct job) * njobs; - for (i = 0; i < njobs; i++) { - if (!jobtab[i].used) - continue; - - if (jobtab[i].ps == &jobtab[i].ps0) - ds.funcstringsize += align_len(jobtab[i].ps0.ps_cmd); - else + for (int i = 0; i < njobs; i++) { + if (jobtab[i].used) ds = procstat_size(ds, i); } return ds; -- cgit v1.2.3-55-g6feb