]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - android-sdk/platform-bionic.git/blobdiff - libc/upstream-openbsd/lib/libc/stdio/vfprintf.c
Fix nan output in the printf family.
[android-sdk/platform-bionic.git] / libc / upstream-openbsd / lib / libc / stdio / vfprintf.c
index 86b540e92c09a52788cdd2463dd8c609fca43b54..5f4fb7fa9bb561d578a0618cbd526ba407b0a93f 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: vfprintf.c,v 1.65 2014/03/19 05:17:01 guenther Exp $  */
+/*     $OpenBSD: vfprintf.c,v 1.67 2014/12/21 00:23:30 daniel Exp $    */
 /*-
  * Copyright (c) 1990 The Regents of the University of California.
  * All rights reserved.
@@ -753,10 +753,9 @@ fp_common:
                        if (signflag)
                                sign = '-';
                        if (expt == INT_MAX) {  /* inf or nan */
-                               if (*cp == 'N') {
+                               if (*cp == 'N')
                                        cp = (ch >= 'a') ? "nan" : "NAN";
-                                       sign = '\0';
-                               } else
+                               else
                                        cp = (ch >= 'a') ? "inf" : "INF";
                                size = 3;
                                flags &= ~ZEROPAD;
@@ -801,6 +800,7 @@ fp_common:
                        }
                        break;
 #endif /* FLOATING_POINT */
+#ifndef NO_PRINTF_PERCENT_N
                case 'n':
                        if (flags & LLONGINT)
                                *GETARG(long long *) = ret;
@@ -819,6 +819,7 @@ fp_common:
                        else
                                *GETARG(int *) = ret;
                        continue;       /* no output */
+#endif /* NO_PRINTF_PERCENT_N */
                case 'O':
                        flags |= LONGINT;
                        /*FALLTHROUGH*/
@@ -1317,6 +1318,7 @@ reswitch: switch (ch) {
                                ADDTYPE(T_DOUBLE);
                        break;
 #endif /* FLOATING_POINT */
+#ifndef NO_PRINTF_PERCENT_N
                case 'n':
                        if (flags & LLONGINT)
                                ADDTYPE(TP_LLONG);
@@ -1333,6 +1335,7 @@ reswitch: switch (ch) {
                        else
                                ADDTYPE(TP_INT);
                        continue;       /* no output */
+#endif /* NO_PRINTF_PERCENT_N */
                case 'O':
                        flags |= LONGINT;
                        /*FALLTHROUGH*/