From da019dfdd5021091e13590a7cf423d64691cc536 Mon Sep 17 00:00:00 2001 From: Warner Losh Date: Tue, 17 May 2016 21:23:13 +0000 Subject: [PATCH] Add support for %S to libstand as well so /boot/loader and friends can use it. --- lib/libstand/printf.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/libstand/printf.c b/lib/libstand/printf.c index fef53416561..71e313cc55a 100644 --- a/lib/libstand/printf.c +++ b/lib/libstand/printf.c @@ -204,6 +204,7 @@ kvprintf(char const *fmt, kvprintf_fn_t *func, void *arg, int radix, va_list ap) char nbuf[MAXNBUF]; char *d; const char *p, *percent, *q; + uint16_t *S; u_char *up; int ch, n; uintmax_t num; @@ -398,6 +399,10 @@ reswitch: switch (ch = (u_char)*fmt++) { while (width--) PCHAR(padc); break; + case 'S': /* Assume console can cope with wide chars */ + for (S = va_arg(ap, uint16_t *); *S != 0; S++) + PCHAR(*S); + break; case 't': tflag = 1; goto reswitch;