musl - musl - an implementation of the standard library for Linux-based systems

index : musl
musl - an implementation of the standard library for Linux-based systems
summary refs log tree commit diff
path: root/src/stdio/vfprintf.c
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2014年12月18日 17:41:34 -0500
committerRich Felker <dalias@aerifal.cx>2014年12月18日 17:41:34 -0500
commit0f859fc99325bbb25d506b28565e4a7385ffe0e6 (patch)
treea069484f168c2667b8dca5c2231023a15be87a4c /src/stdio/vfprintf.c
parent2e1ae3b6b9331383ba5eaa7cb47373a8bea073d1 (diff)
downloadmusl-0f859fc99325bbb25d506b28565e4a7385ffe0e6.tar.gz
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.
Diffstat (limited to 'src/stdio/vfprintf.c')
-rw-r--r--src/stdio/vfprintf.c 2
1 files changed, 1 insertions, 1 deletions
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);
generated by cgit v1.2.1 (git 2.18.0) at 2025年10月04日 05:11:13 +0000

AltStyle によって変換されたページ (->オリジナル) /