From f6e29e076a1e0662faff14e7fe23235f4a834ff6 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Thu, 26 Mar 2009 10:04:40 +0000 Subject: Revert erroneously checked in files. --- newlib/libc/stdlib/wcstod.c | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) (limited to 'newlib/libc/stdlib/wcstod.c') diff --git a/newlib/libc/stdlib/wcstod.c b/newlib/libc/stdlib/wcstod.c index ca1f0b5ab..11fb922b1 100644 --- a/newlib/libc/stdlib/wcstod.c +++ b/newlib/libc/stdlib/wcstod.c @@ -116,10 +116,8 @@ Supporting OS subroutines required: <>, <>, <>, #include <_ansi.h> #include #include -#include #include #include -#include #include double @@ -169,25 +167,9 @@ _DEFUN (_wcstod_r, (ptr, nptr, endptr), * where it ended, count multibyte characters to find the * corresponding position in the wide char string. */ - if (endptr != NULL) { - /* The only valid multibyte char in a float converted by - strtod/wcstod is the radix char. What we do here is, - figure out if the radix char was in the valid leading - float sequence in the incoming string. If so, the - multibyte float string is strlen(radix char) - 1 bytes - longer than the incoming wide char string has characters. - To fix endptr, reposition end as if the radix char was - just one byte long. The resulting difference (end - buf) - is then equivalent to the number of valid wide characters - in the input string. */ - len = strlen (localeconv ()->decimal_point); - if (len > 1) { - char *d = strstr (buf, localeconv ()->decimal_point); - if (d && d < end) - end -= len - 1; - } + if (endptr != NULL) + /* XXX Assume each wide char is one byte. */ *endptr = (wchar_t *)nptr + (end - buf); - } _free_r(ptr, buf); -- cgit v1.2.3