From: Rich Felker Date: Thu, 18 Dec 2014 22:41:34 +0000 (-0500) Subject: don't suppress sign output for NANs in printf X-Git-Tag: v1.1.6~19 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=0f859fc99325bbb25d506b28565e4a7385ffe0e6;p=oweals%2Fmusl.git don't suppress sign output for NANs in printf formally, it seems a sign is only required when the '+' modifier appears in the format specifier, in which case either '+' or '-' must be present in the output. but the specification is written such that an optional negative sign is part of the output format anyway, and the simplest approach to fixing the problem is removing the code that was suppressing the sign. --- diff --git a/src/stdio/vfprintf.c b/src/stdio/vfprintf.c index d421817c..2ecf7692 100644 --- a/src/stdio/vfprintf.c +++ b/src/stdio/vfprintf.c @@ -225,7 +225,7 @@ static int fmt_fp(FILE *f, long double y, int w, int p, int fl, int t) if (!isfinite(y)) { char *s = (t&32)?"inf":"INF"; - if (y!=y) s=(t&32)?"nan":"NAN", pl=0; + if (y!=y) s=(t&32)?"nan":"NAN"; pad(f, ' ', w, 3+pl, fl&~ZERO_PAD); out(f, prefix, pl); out(f, s, 3);