1/*
2 * fixstrtod.c --
3 *
4 *	Source code for the "fixstrtod" procedure.  This procedure is
5 *	used in place of strtod under Solaris 2.4, in order to fix
6 *	a bug where the "end" pointer gets set incorrectly.
7 *
8 * Copyright (c) 1995 Sun Microsystems, Inc.
9 *
10 * See the file "license.terms" for information on usage and redistribution
11 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
12 *
13 * SCCS: @(#) fixstrtod.c 1.5 96/02/15 12:08:21
14 */
15
16#include <stdio.h>
17
18#undef strtod
19
20/*
21 * Declare strtod explicitly rather than including stdlib.h, since in
22 * somes systems (e.g. SunOS 4.1.4) stdlib.h doesn't declare strtod.
23 */
24
25extern double strtod();
26
27double
28fixstrtod(string, endPtr)
29    char *string;
30    char **endPtr;
31{
32    double d;
33    d = strtod(string, endPtr);
34    if ((endPtr != NULL) && (*endPtr != string) && ((*endPtr)[-1] == 0)) {
35	*endPtr -= 1;
36    }
37    return d;
38}
39