diff options
Diffstat (limited to 'libbb/procps.c')
-rw-r--r-- | libbb/procps.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/libbb/procps.c b/libbb/procps.c index e62e5a1f1..476e1f34d 100644 --- a/libbb/procps.c +++ b/libbb/procps.c | |||
@@ -375,13 +375,22 @@ procps_status_t *procps_scan(procps_status_t* sp, int flags) | |||
375 | } | 375 | } |
376 | } | 376 | } |
377 | #else | 377 | #else |
378 | if (flags & PSSCAN_ARGV0) { | 378 | if (flags & *PSSCAN_ARGV0|PSSCAN_ARGVN)) { |
379 | free(sp->argv0); | 379 | free(sp->argv0); |
380 | sp->argv0 = NULL; | 380 | sp->argv0 = NULL; |
381 | strcpy(filename_tail, "/cmdline"); | 381 | strcpy(filename_tail, "/cmdline"); |
382 | n = read_to_buf(filename, buf); | 382 | n = read_to_buf(filename, buf); |
383 | if (n <= 0) | 383 | if (n <= 0) |
384 | break; | 384 | break; |
385 | #if ENABLE_PGREP || ENABLE_PKILL | ||
386 | if (flags & PSSCAN_ARGVN) { | ||
387 | do { | ||
388 | n--; | ||
389 | if (buf[n] == '\0') | ||
390 | buf[n] = ' '; | ||
391 | } while (n); | ||
392 | } | ||
393 | #endif | ||
385 | sp->argv0 = xstrdup(buf); | 394 | sp->argv0 = xstrdup(buf); |
386 | } | 395 | } |
387 | #endif | 396 | #endif |