diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2019-01-02 21:21:46 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2019-01-02 21:21:46 (GMT) |
commit | d2825c8167bd0d1f1daa937aa3b6ab21f7522527 (patch) | |
tree | d6d980c6b1806a43dc20219ed070b9440f59dfe9 /tls/fixstrtod.c | |
parent | 4db70369bb58c270b362c5696a6fe8c91a1a0217 (diff) | |
parent | 7417c0c39dc6049faf0dbb2ae2b90414895b2290 (diff) | |
download | blt-d2825c8167bd0d1f1daa937aa3b6ab21f7522527.zip blt-d2825c8167bd0d1f1daa937aa3b6ab21f7522527.tar.gz blt-d2825c8167bd0d1f1daa937aa3b6ab21f7522527.tar.bz2 |
Merge commit '7417c0c39dc6049faf0dbb2ae2b90414895b2290' as 'tls'
Diffstat (limited to 'tls/fixstrtod.c')
-rw-r--r-- | tls/fixstrtod.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tls/fixstrtod.c b/tls/fixstrtod.c new file mode 100644 index 0000000..2655767 --- /dev/null +++ b/tls/fixstrtod.c @@ -0,0 +1,38 @@ +/* + * fixstrtod.c -- + * + * Source code for the "fixstrtod" procedure. This procedure is + * used in place of strtod under Solaris 2.4, in order to fix + * a bug where the "end" pointer gets set incorrectly. + * + * Copyright (c) 1995 Sun Microsystems, Inc. + * + * See the file "license.terms" for information on usage and redistribution + * of this file, and for a DISCLAIMER OF ALL WARRANTIES. + * + * SCCS: @(#) fixstrtod.c 1.5 96/02/15 12:08:21 + */ + +#include <stdio.h> + +#undef strtod + +/* + * Declare strtod explicitly rather than including stdlib.h, since in + * somes systems (e.g. SunOS 4.1.4) stdlib.h doesn't declare strtod. + */ + +extern double strtod(); + +double +fixstrtod(string, endPtr) + char *string; + char **endPtr; +{ + double d; + d = strtod(string, endPtr); + if ((endPtr != NULL) && (*endPtr != string) && ((*endPtr)[-1] == 0)) { + *endPtr -= 1; + } + return d; +} |