summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/sort/xstrtod.c
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/sort/xstrtod.c')
-rw-r--r--gnu/usr.bin/sort/xstrtod.c48
1 files changed, 0 insertions, 48 deletions
diff --git a/gnu/usr.bin/sort/xstrtod.c b/gnu/usr.bin/sort/xstrtod.c
deleted file mode 100644
index 838c5c4..0000000
--- a/gnu/usr.bin/sort/xstrtod.c
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#ifdef STDC_HEADERS
-#include <stdlib.h>
-#else
-double strtod ();
-#endif
-
-#include <errno.h>
-#include <stdio.h>
-#include <limits.h>
-#include <ctype.h>
-#include "xstrtod.h"
-
-int
-xstrtod (str, ptr, result)
- const char *str;
- const char **ptr;
- double *result;
-{
- double val;
- char *terminator;
- int fail;
-
- fail = 0;
- errno = 0;
- val = strtod (str, &terminator);
-
- /* Having a non-zero terminator is an error only when PTR is NULL. */
- if (terminator == str || (ptr == NULL && *terminator != '\0'))
- fail = 1;
- else
- {
- /* Allow underflow (in which case strtod returns zero),
- but flag overflow as an error. */
- if (val != 0.0 && errno == ERANGE)
- fail = 1;
- }
-
- if (ptr != NULL)
- *ptr = terminator;
-
- *result = val;
- return fail;
-}
-
OpenPOWER on IntegriCloud