diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2006-12-18 14:20:01 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2006-12-18 14:20:01 +0000 |
commit | 6dca70a04908f190c63ca76853ec2e7e0ea20c06 (patch) | |
tree | 548564d3dc1619c6608857e8257e9f9a070ac6aa /procps/ps.c | |
parent | db50647d1f55d9d83dd1ffe8f2318e98e2d50a86 (diff) |
ps: fix buglet, add microoptimization
Diffstat (limited to 'procps/ps.c')
-rw-r--r-- | procps/ps.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/procps/ps.c b/procps/ps.c index e18bd2a58..12f6b65d1 100644 --- a/procps/ps.c +++ b/procps/ps.c @@ -216,18 +216,16 @@ static void format_process(const procps_status_t *ps) // POSIX: Any field need not be meaningful in all // implementations. In such a case a hyphen ( '-' ) // should be output in place of the field value. - if (!*p) { - *p++ = '-'; - *p = '\0'; + if (!p[0]) { + p[0] = '-'; + p[1] = '\0'; } len = strlen(p); p += len; len = out[i].width - len + 1; if (++i == out_cnt) /* do not pad last field */ break; - while (len--) - *p++ = ' '; - *p = '\0'; + p += sprintf(p, "%*s", len, ""); } printf("%.*s\n", terminal_width, buffer); } |