summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcem <cem@FreeBSD.org>2016-06-09 18:24:51 +0000
committercem <cem@FreeBSD.org>2016-06-09 18:24:51 +0000
commit5ebc37ce13cc781ebe2b412f696455def98d857b (patch)
treecbc4f5e08aa61335701a56a0fdfd3331cae91577
parent53f13a1a099a60e5aea4b82cbbe92c9c39b479cd (diff)
downloadFreeBSD-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.c8
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 *);
OpenPOWER on IntegriCloud