diff --git a/src/stdio/vfwprintf.c b/src/stdio/vfwprintf.c index 53697701..a653e233 100644 --- a/src/stdio/vfwprintf.c +++ b/src/stdio/vfwprintf.c @@ -271,7 +271,7 @@ static int wprintf_core(FILE *f, const wchar_t *fmt, va_list *ap, union arg *nl_ case 'C': if (w<1) w=1; pad(f, w-1, fl); - out(f, &(wchar_t){t=='C' ? arg.i : btowc(arg.i)}, 1); + out(f, &(wchar_t){t=='C' ? arg.i : btowc(arg.i & 0xff)}, 1); pad(f, w-1, fl^LEFT_ADJ); l = w; continue;