summaryrefslogtreecommitdiff
path: root/lib/libc/gdtoa/strtord.c
diff options
context:
space:
mode:
authorMartynas Venckus <martynas@cvs.openbsd.org>2009-10-16 12:15:04 +0000
committerMartynas Venckus <martynas@cvs.openbsd.org>2009-10-16 12:15:04 +0000
commit7d672698297cd690f731fb42ff14a0e3ddb35755 (patch)
treefe02a524f7f5098071b58f8a2d7141fb1c30cf65 /lib/libc/gdtoa/strtord.c
parent261fc86bcfe671993b508087f8707ba7f1f1ad27 (diff)
teach gdtoa & its subroutines that malloc can fail; in which case
ecvt, fcvt, gcvt, *printf, strtof, strtod, strtold act per ieee 1003.1. after these massive changes, remove unused files which would not work now. reported by Maksymilian Arciemowicz; ok theo
Diffstat (limited to 'lib/libc/gdtoa/strtord.c')
-rw-r--r--lib/libc/gdtoa/strtord.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/libc/gdtoa/strtord.c b/lib/libc/gdtoa/strtord.c
index 709af4c713f..966d26431b4 100644
--- a/lib/libc/gdtoa/strtord.c
+++ b/lib/libc/gdtoa/strtord.c
@@ -55,6 +55,9 @@ ULtod(ULong *L, ULong *bits, Long exp, int k)
L[_0] = (bits[1] & ~0x100000) | ((exp + 0x3ff + 52) << 20);
break;
+ case STRTOG_NoMemory:
+ errno = ERANGE;
+ /* FALLTHROUGH */
case STRTOG_Infinite:
L[_0] = 0x7ff00000;
L[_1] = 0;