diff options
| author | martynas <> | 2009-10-16 12:15:03 +0000 | 
|---|---|---|
| committer | martynas <> | 2009-10-16 12:15:03 +0000 | 
| commit | c60cc3534a1017f18ae4f304bae4d32410563a2b (patch) | |
| tree | 59d1cec7b9ac419c47f1a14672ac023d3f11f83a /src/lib/libc/stdlib/ecvt.c | |
| parent | 657f1f4d482640f182b87aff96649878a773d94c (diff) | |
| download | openbsd-c60cc3534a1017f18ae4f304bae4d32410563a2b.tar.gz openbsd-c60cc3534a1017f18ae4f304bae4d32410563a2b.tar.bz2 openbsd-c60cc3534a1017f18ae4f304bae4d32410563a2b.zip  | |
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 'src/lib/libc/stdlib/ecvt.c')
| -rw-r--r-- | src/lib/libc/stdlib/ecvt.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/libc/stdlib/ecvt.c b/src/lib/libc/stdlib/ecvt.c index 719370a8f3..03ff918967 100644 --- a/src/lib/libc/stdlib/ecvt.c +++ b/src/lib/libc/stdlib/ecvt.c  | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ecvt.c,v 1.6 2006/10/29 18:45:56 deraadt Exp $ */ | 1 | /* $OpenBSD: ecvt.c,v 1.7 2009/10/16 12:15:03 martynas Exp $ */ | 
| 2 | 2 | ||
| 3 | /* | 3 | /* | 
| 4 | * Copyright (c) 2002, 2006 Todd C. Miller <Todd.Miller@courtesan.com> | 4 | * Copyright (c) 2002, 2006 Todd C. Miller <Todd.Miller@courtesan.com> | 
| @@ -62,6 +62,8 @@ __cvt(double value, int ndigit, int *decpt, int *sign, int fmode, int pad) | |||
| 62 | *rve = '\0'; | 62 | *rve = '\0'; | 
| 63 | } else { | 63 | } else { | 
| 64 | p = __dtoa(value, fmode + 2, ndigit, decpt, sign, &rve); | 64 | p = __dtoa(value, fmode + 2, ndigit, decpt, sign, &rve); | 
| 65 | if (p == NULL) | ||
| 66 | return (NULL); | ||
| 65 | if (*decpt == 9999) { | 67 | if (*decpt == 9999) { | 
| 66 | /* Infinity or Nan, convert to inf or nan like printf */ | 68 | /* Infinity or Nan, convert to inf or nan like printf */ | 
| 67 | *decpt = 0; | 69 | *decpt = 0; | 
