From b6871c1965af0eb87123e13f5d81ec0c9b801b71 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Thu, 2 Feb 2017 13:04:30 +0100 Subject: ps: avoid -o stat to contain spaces. Closes 9631 function old new delta procps_scan 1227 1236 +9 Signed-off-by: Denys Vlasenko --- libbb/procps.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'libbb/procps.c') diff --git a/libbb/procps.c b/libbb/procps.c index 4edc54d48..b52c0f51b 100644 --- a/libbb/procps.c +++ b/libbb/procps.c @@ -370,6 +370,7 @@ procps_status_t* FAST_FUNC procps_scan(procps_status_t* sp, int flags) | PSSCAN_TTY | PSSCAN_NICE | PSSCAN_CPU) ) { + int s_idx; char *cp, *comm1; int tty; #if !ENABLE_FEATURE_FAST_TOP @@ -468,17 +469,20 @@ procps_status_t* FAST_FUNC procps_scan(procps_status_t* sp, int flags) #if ENABLE_FEATURE_PS_ADDITIONAL_COLUMNS sp->niceness = tasknice; #endif - - if (sp->vsz == 0 && sp->state[0] != 'Z') + sp->state[1] = ' '; + sp->state[2] = ' '; + s_idx = 1; + if (sp->vsz == 0 && sp->state[0] != 'Z') { + /* not sure what the purpose of this flag */ sp->state[1] = 'W'; - else - sp->state[1] = ' '; - if (tasknice < 0) - sp->state[2] = '<'; - else if (tasknice) /* > 0 */ - sp->state[2] = 'N'; - else - sp->state[2] = ' '; + s_idx = 2; + } + if (tasknice != 0) { + if (tasknice < 0) + sp->state[s_idx] = '<'; + else /* > 0 */ + sp->state[s_idx] = 'N'; + } } #if ENABLE_FEATURE_TOPMEM -- cgit v1.2.3