[PATCH] Print sign of NaN values to nano-vfprintf.
Corinna Vinschen
vinschen@redhat.com
Thu Dec 13 12:56:00 GMT 2018
On Dec 11 21:13, jon@beniston.com wrote:
> > diff --git a/newlib/libc/stdio/nano-vfprintf_float.c
> b/newlib/libc/stdio/nano-vfprintf_float.c
> > index 98893e97b..071a09edc 100644
> > --- a/newlib/libc/stdio/nano-vfprintf_float.c
> > +++ b/newlib/libc/stdio/nano-vfprintf_float.c
> > @@ -213,6 +213,8 @@ _printf_float (struct _reent *data,
> > }
> > if (isnan (_fpvalue))
> > {
> > + if (_fpvalue < 0)
> > + pdata->l_buf[0] = '-';
> > if (code <= 'G') /* 'A', 'E', 'F', or 'G'. */
> > cp = "NAN";
>
> This patch doesn't work, as a comparison of a NaN with anything should
> always return false. As per the main printf code, this can be done by
> checking the sign bit instead:
>
> - if (_fpvalue < 0)
> + if (signbit (_fpvalue))
> pdata->l_buf[0] = '-';
>
> Patch attached.
Pushed.
Thanks,
Corinna
--
Corinna Vinschen
Cygwin Maintainer
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/newlib/attachments/20181213/b217a836/attachment.sig>
More information about the Newlib
mailing list