summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/lib/strtod.c
diff options
context:
space:
mode:
authorMystery Man <unknown@mandriva.org>2003-04-17 14:51:14 +0000
committerMystery Man <unknown@mandriva.org>2003-04-17 14:51:14 +0000
commitef016519fadd0d52908858470a704cce6a8ceeff (patch)
tree7dda80ef3508a0b6422cc2ea34ce1d933b81f2a4 /mdk-stage1/dietlibc/lib/strtod.c
parent327bd24f8e4291bd1882de1990dd7339f781a9cb (diff)
downloaddrakx-backup-do-not-use-1_1_9_55mdk.tar
drakx-backup-do-not-use-1_1_9_55mdk.tar.gz
drakx-backup-do-not-use-1_1_9_55mdk.tar.bz2
drakx-backup-do-not-use-1_1_9_55mdk.tar.xz
drakx-backup-do-not-use-1_1_9_55mdk.zip
This commit was manufactured by cvs2svn to create tag 'V1_1_9_55mdk'.V1_1_9_55mdk
Diffstat (limited to 'mdk-stage1/dietlibc/lib/strtod.c')
-rw-r--r--mdk-stage1/dietlibc/lib/strtod.c52
1 files changed, 0 insertions, 52 deletions
diff --git a/mdk-stage1/dietlibc/lib/strtod.c b/mdk-stage1/dietlibc/lib/strtod.c
deleted file mode 100644
index cbe983d84..000000000
--- a/mdk-stage1/dietlibc/lib/strtod.c
+++ /dev/null
@@ -1,52 +0,0 @@
-#include <string.h>
-
-extern char isspace(char c);
-
-#ifdef __GNUC__
-static inline char isdigit(char c) { return (c>='0' && c<='9'); }
-#endif
-
-double strtod(const char *nptr, char **endptr) {
- double d=0;
- register const char *c=nptr;
- char neg=0;
- while (*c && isspace(*c)) ++c;
- switch (*c) {
- case '-': neg=1;
- case '+': c++; break;
- default: break;
- }
- while (isdigit(*c)) {
- d=d*10+(*c-'0');
- ++c;
- }
- if (*c=='.') {
- double factor=.1;
- while (isdigit(*++c)) {
- d=d+(factor*(*c-'0'));
- factor/=10;
- }
- }
- if ((*c|32)=='e') {
- int exp=0;
- double factor=10;
- if (c[1]<'0') {
- switch (c[1]) {
- case '-': factor=0.1;
- case '+': c++; break;
- default:
- d=0;
- c=nptr;
- goto done;
- }
- }
- while (isdigit(*++c))
- exp=exp*10+(*c-'0');
- while (exp) { /* XXX: this introduces rounding errors */
- d*=factor; --exp;
- }
- }
-done:
- if (endptr) *endptr=(char*)c;
- return d;
-}