freebsd-dev/lib/libc
Eric van Gyzen 81f91de9f7 Fix error reporting from wcstof()
When wcstof() skipped initial space and then parsing failed, it set
endptr to the first non-space character.  Fix it to correctly report
failure by setting endptr to the beginning of the input string.
The fix is from theraven@, who fixed this bug in wcstod() and
wcstold() in r227753.

While I'm here:

Move assignments out of declarations in wcstod() and wcstold().
This is against my personal preference, but it is our agreed style(9).

Set endptr correctly on malloc() failure in all three functions.

Remove an incorrect comment:  This is pointer arithmetic,
so the code was not actually making that assumption.

wcstold() advanced the wcp pointer beyond leading whitespace
and then reset it back to the beginning of the string.
Do not reset it.  This seems to have no functional effect,
since strtold_l() also skips leading whitespace.  I'm making
the change to keep this function consistent with wcstof() and
wcstod(), and because the C11 spec prescribes the use of iswspace()
to skip leading space.

Reported by:	libc++ unit test for std::stof(std::wstring)
MFC after:	8 days
Sponsored by:	Dell EMC
2016-11-20 20:13:22 +00:00
..
aarch64 Attach the cortex strings library to the build. Only a subset of functions 2016-09-19 15:08:03 +00:00
amd64 Reduce duplicate NOASM and PSEUDO definitions 2016-09-08 22:38:20 +00:00
arm Reduce duplicate NOASM and PSEUDO definitions 2016-09-08 22:38:20 +00:00
capability
compat-43 Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:53:24 +00:00
db hash(3): protect in-memory page when using cross-endianness. 2016-09-26 16:06:50 +00:00
gdtoa META MODE: Don't create .meta files when symlinking sources into the obj directory. 2015-11-25 19:44:43 +00:00
gen Replace basename(3) by a thread-safe implementation. 2016-11-03 20:21:34 +00:00
gmon Replace the last non-optional use of sbrk() in the tree with mmap(). 2016-01-21 18:17:19 +00:00
i386 Reduce duplicate NOASM and PSEUDO definitions 2016-09-08 22:38:20 +00:00
iconv citrus: Remove redundant code in _citrus_esdb_get_list(). 2016-06-02 17:28:39 +00:00
include Rewrite ptrace(2) wrappers in C. 2016-08-29 18:47:51 +00:00
inet Update ^/vendor/NetBSD/tests/dist to a more recent snapshot 2016-08-12 01:05:07 +00:00
isc libc: do not include <sys/types.h> where <sys/param.h> was already included 2016-04-18 21:05:15 +00:00
locale Fix error reporting from wcstof() 2016-11-20 20:13:22 +00:00
md
mips Add full softfloat and hardfloat support for MIPS. 2016-10-31 15:33:58 +00:00
nameser libc: spelling fixes. 2016-04-30 01:24:24 +00:00
net 'addrlen' does not matter when we need to find the first non-zero bit in 2016-08-31 18:49:50 +00:00
nls Use current locale (f.e. set by thread). It was global locale always 2016-08-24 16:44:27 +00:00
posix1e libc: spelling fixes. 2016-04-30 01:24:24 +00:00
powerpc Fix a typo which broke the build for powerpc. 2016-10-25 01:32:35 +00:00
powerpc64 Reduce duplicate NOASM and PSEUDO definitions 2016-09-08 22:38:20 +00:00
powerpcspe Fix a copy&paste-o causing a segfault with sigsetjmp. 2016-10-29 01:22:55 +00:00
quad Remove MK_ARM_EABI, the armeb issues have been fixed. The code to support 2014-10-01 08:26:51 +00:00
regex 1) Eliminate possibility to call __*collate_range_cmp() with inclomplete 2016-07-14 09:07:25 +00:00
resolv Don't leak addrinfo if ai->ai_addrlen <= minsiz test fails. 2016-06-08 09:40:06 +00:00
riscv Add full softfloat and hardfloat support for RISC-V. 2016-11-16 15:21:32 +00:00
rpc Update ^/vendor/NetBSD/tests/dist to a more recent snapshot 2016-08-12 01:05:07 +00:00
secure libc: do not include <sys/types.h> where <sys/param.h> was already included 2016-04-18 21:05:15 +00:00
softfloat Add full softfloat and hardfloat support for RISC-V. 2016-11-16 15:21:32 +00:00
sparc64 Reduce duplicate NOASM and PSEUDO definitions 2016-09-08 22:38:20 +00:00
stdio Detect integer overflow and limit the number of positional 2016-10-31 18:38:58 +00:00
stdlib Update jemalloc to 4.3.1. 2016-11-09 18:42:30 +00:00
stdtime 1) For already non-standard %z extension implement GNU compatible formats: 2016-09-21 15:47:40 +00:00
string Add timingsafe_bcmp and timingsafe_memcmp. 2016-08-14 23:38:50 +00:00
sys Add flag SF_USER_READAHEAD to sendfile(2). When specified, the syscall won't 2016-11-17 21:36:18 +00:00
tests Only build lib/libc/tests/iconv if MK_ICONV != no 2016-10-21 04:54:43 +00:00
uuid libc: replace 0 with NULL for pointers. 2016-04-10 19:33:58 +00:00
x86/sys Implement userspace gettimeofday(2) with HPET timecounter. 2016-08-17 09:52:09 +00:00
xdr libc/xdr: unsign some loop indexes. 2016-05-06 16:03:40 +00:00
yp Use on crypto.x and rpc.x from the source tree. 2016-06-28 19:53:16 +00:00
libc_nossp.ldscript Add different libc ldscript: the one without libssp -- 2016-10-12 13:19:21 +00:00
libc.ldscript
Makefile Add full softfloat and hardfloat support for RISC-V. 2016-11-16 15:21:32 +00:00
Makefile.depend DIRDEPS_BUILD: Regenerate without local dependencies. 2016-02-24 17:20:11 +00:00
Versions.def Create namespace for the symbols added during 12-CURRENT cycle. 2016-08-06 13:28:58 +00:00