diff options
author | Rich Felker <dalias@aerifal.cx> | 2013-04-04 14:42:35 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2013-04-04 14:42:35 -0400 |
commit | 50d9661d9b231f503b21e9d8787d1411b864d58a (patch) | |
tree | c0eb25ff88e07439498f026c0511a81de8b1f480 /src/legacy | |
parent | 47cf4919fc834a917185ace26dfd1c2ab760676d (diff) | |
download | musl-50d9661d9b231f503b21e9d8787d1411b864d58a.tar.gz musl-50d9661d9b231f503b21e9d8787d1411b864d58a.tar.xz musl-50d9661d9b231f503b21e9d8787d1411b864d58a.zip |
overhaul mbsrtowcs
these changes fix at least two bugs: - misaligned access to the input as uint32_t for vectorized ASCII test - incorrect src pointer after stopping on EILSEQ in addition, the text of the standard makes it unclear whether the mbstate_t object is to be modified when the destination pointer is null; previously it was cleared either way; now, it's only cleared when the destination is non-null. this change may need revisiting, but it should not affect most applications, since calling mbsrtowcs with non-zero state can only happen when the head of the string was already processed with mbrtowc. finally, these changes shave about 20% size off the function and seem to improve performance by 1-5%.
Diffstat (limited to 'src/legacy')
0 files changed, 0 insertions, 0 deletions