diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2016-12-21 22:56:22 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2016-12-21 22:56:22 (GMT) |
commit | 98acd3f494b28ddd8c345a2bb9311e41e2d56ddd (patch) | |
tree | da1cf11e12bf524556ed195b9e811ee39fefa84b /compat/fixstrtod.c | |
download | blt-98acd3f494b28ddd8c345a2bb9311e41e2d56ddd.zip blt-98acd3f494b28ddd8c345a2bb9311e41e2d56ddd.tar.gz blt-98acd3f494b28ddd8c345a2bb9311e41e2d56ddd.tar.bz2 |
Squashed 'tcl8.6/' content from commit fcdc201
git-subtree-dir: tcl8.6
git-subtree-split: fcdc2019beb26eb8141c5ffc289e8de28bd07aa5
Diffstat (limited to 'compat/fixstrtod.c')
-rw-r--r-- | compat/fixstrtod.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/compat/fixstrtod.c b/compat/fixstrtod.c new file mode 100644 index 0000000..63fb8ef --- /dev/null +++ b/compat/fixstrtod.c @@ -0,0 +1,36 @@ +/* + * 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. + */ + +#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(char *, char **); + +double +fixstrtod( + char *string, + char **endPtr) +{ + double d; + d = strtod(string, endPtr); + if ((endPtr != NULL) && (*endPtr != string) && ((*endPtr)[-1] == 0)) { + *endPtr -= 1; + } + return d; +} |