OSDN Git Service

Enable to track git://github.com/monaka/binutils.git
[pf3gnuchains/pf3gnuchains3x.git] / tcl / compat / fixstrtod.c
diff --git a/tcl/compat/fixstrtod.c b/tcl/compat/fixstrtod.c
new file mode 100644 (file)
index 0000000..5890bd1
--- /dev/null
@@ -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.
+ *
+ * RCS: @(#) $Id$
+ */
+
+#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;
+}