top: code shrink
No binary (build failed)
—
(log yok)
| @@ -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) | |