[prev in list] [next in list] [prev in thread] [next in thread]
List: busybox-cvs
Subject: [git commit] top: code shrink
From: Denys Vlasenko <vda.linux () googlemail ! com>
Date: 2022-05-10 11:51:09
Message-ID: 20220510114054.3726784E3D () busybox ! osuosl ! org
[Download RAW message or body]
commit: https://git.busybox.net/busybox/commit/?id=69f82e305b34aa35994b87f7ca6528abfbd73520
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master
function old new delta
display_process_list 1191 1186 -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
---
procps/top.c | 25 ++++++++++++++-----------
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/procps/top.c b/procps/top.c
index 15222f570..5141feef1 100644
--- a/procps/top.c
+++ b/procps/top.c
@@ -608,8 +608,6 @@ static NOINLINE void display_process_list(int lines_rem, int scr_width)
BITS_PER_INT = sizeof(int) * 8
};
- char ppubuf[sizeof(int)*3 * 2 + 12];
- int n;
top_status_t *s;
unsigned long total_memory = display_header(scr_width, &lines_rem); /* or use total_vsz? */
/* xxx_shift and xxx_scale variables allow us to replace
@@ -691,6 +689,9 @@ static NOINLINE void display_process_list(int lines_rem, int scr_width)
lines_rem = ntop - G_scroll_ofs;
s = top + G_scroll_ofs;
while (--lines_rem >= 0) {
+ int n;
+ char *pp;
+ char ppubuf[sizeof(int)*3 * 2 + 12];
char vsz_str_buf[8];
unsigned col;
@@ -706,14 +707,15 @@ static NOINLINE void display_process_list(int lines_rem, int scr_width)
/* Format PID PPID USER part into 6+6+8 chars:
* shrink PID/PPID if possible, then truncate USER
*/
- char *pp, *p = ppubuf;
- if (*p == ' ') {
- do
- p++, n--;
- while (n != 6+6+8 && *p == ' ');
- overlapping_strcpy(ppubuf, p); /* shrink PID */
- if (n == 6+6+8)
- goto shortened;
+ char *p;
+ pp = ppubuf;
+ if (*pp == ' ') {
+ do {
+ pp++, n--;
+ if (n == 6+6+8)
+ goto shortened;
+ } while (*pp == ' ');
+ overlapping_strcpy(ppubuf, pp); /* shrink PID */
}
pp = p = skip_non_whitespace(ppubuf) + 1;
if (*p == ' ') {
@@ -724,13 +726,14 @@ static NOINLINE void display_process_list(int lines_rem, int scr_width)
}
ppubuf[6+6+8] = '\0'; /* truncate USER */
}
+ pp = ppubuf;
shortened:
col = snprintf(line_buf, scr_width,
"\n" "%s %s %.5s" FMT
IF_FEATURE_TOP_SMP_PROCESS(" %3d")
IF_FEATURE_TOP_CPU_USAGE_PERCENTAGE(FMT)
" ",
- ppubuf,
+ pp,
s->state, vsz_str_buf,
SHOW_STAT(pmem)
IF_FEATURE_TOP_SMP_PROCESS(, s->last_seen_on_cpu)
_______________________________________________
busybox-cvs mailing list
busybox-cvs@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic