diff options
-rw-r--r-- | procps/nmeter.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/procps/nmeter.c b/procps/nmeter.c index 0ce6842e7..8fe39c43b 100644 --- a/procps/nmeter.c +++ b/procps/nmeter.c @@ -142,11 +142,11 @@ static void print_outbuf(void) static void put(const char *s) { - int sz = strlen(s); - if (sz > outbuf + sizeof(outbuf) - cur_outbuf) - sz = outbuf + sizeof(outbuf) - cur_outbuf; - memcpy(cur_outbuf, s, sz); - cur_outbuf += sz; + char *p = cur_outbuf; + int sz = outbuf + sizeof(outbuf) - p; + while (*s && --sz >= 0) + *p++ = *s++; + cur_outbuf = p; } static void put_c(char c) |