diff options
author | cem <cem@FreeBSD.org> | 2016-06-09 18:24:51 +0000 |
---|---|---|
committer | cem <cem@FreeBSD.org> | 2016-06-09 18:24:51 +0000 |
commit | 5ebc37ce13cc781ebe2b412f696455def98d857b (patch) | |
tree | cbc4f5e08aa61335701a56a0fdfd3331cae91577 | |
parent | 53f13a1a099a60e5aea4b82cbbe92c9c39b479cd (diff) | |
download | FreeBSD-src-5ebc37ce13cc781ebe2b412f696455def98d857b.zip FreeBSD-src-5ebc37ce13cc781ebe2b412f696455def98d857b.tar.gz |
kvprintf: Pad %*c to width, like %*s
Sponsored by: EMC / Isilon Storage Division
-rw-r--r-- | sys/kern/subr_prf.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/kern/subr_prf.c b/sys/kern/subr_prf.c index ce781d9..5bcf39b 100644 --- a/sys/kern/subr_prf.c +++ b/sys/kern/subr_prf.c @@ -730,7 +730,15 @@ reswitch: switch (ch = (u_char)*fmt++) { PCHAR('>'); break; case 'c': + width -= 1; + + if (!ladjust && width > 0) + while (width--) + PCHAR(padc); PCHAR(va_arg(ap, int)); + if (ladjust && width > 0) + while (width--) + PCHAR(padc); break; case 'D': up = va_arg(ap, u_char *); |