From bdc9ed15651b70e89f83c5a9f7d1ba349e624503 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sun, 20 Feb 2011 17:10:40 -0500 Subject: [PATCH] fix %n specifier, again. this time it was storing the wrong value. --- src/stdio/vfprintf.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/stdio/vfprintf.c b/src/stdio/vfprintf.c index 3512b4de..19afd6c9 100644 --- a/src/stdio/vfprintf.c +++ b/src/stdio/vfprintf.c @@ -526,13 +526,13 @@ static int printf_core(FILE *f, const char *fmt, va_list *ap, union arg *nl_arg, switch(t) { case 'n': switch(ps) { - case BARE: *(int *)arg.p = l; break; - case LPRE: *(long *)arg.p = l; break; - case LLPRE: *(long long *)arg.p = l; break; - case HPRE: *(unsigned short *)arg.p = l; break; - case HHPRE: *(unsigned char *)arg.p = l; break; - case ZTPRE: *(size_t *)arg.p = l; break; - case JPRE: *(uintmax_t *)arg.p = l; break; + case BARE: *(int *)arg.p = cnt; break; + case LPRE: *(long *)arg.p = cnt; break; + case LLPRE: *(long long *)arg.p = cnt; break; + case HPRE: *(unsigned short *)arg.p = cnt; break; + case HHPRE: *(unsigned char *)arg.p = cnt; break; + case ZTPRE: *(size_t *)arg.p = cnt; break; + case JPRE: *(uintmax_t *)arg.p = cnt; break; } continue; case 'p': -- 2.25.1