From 1b836ee6f8e5c0f61d67c1f014819a066366ab6f Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Fri, 18 Apr 2014 13:32:33 -0700 Subject: [PATCH] Fix a wchar.wcstombs_wcrtombs test failure. Looks like I screwed up a last-minute refactor and didn't re-run the tests. Change-Id: I90a710ae66a313a9812859650aa0b4e8c6bc57f9 --- libc/bionic/wchar.cpp | 3 +++ tests/wchar_test.cpp | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/libc/bionic/wchar.cpp b/libc/bionic/wchar.cpp index a507808f0..021d14b47 100644 --- a/libc/bionic/wchar.cpp +++ b/libc/bionic/wchar.cpp @@ -250,6 +250,9 @@ size_t wcsrtombs(char* dst, const wchar_t** src, size_t n, mbstate_t* /*ps*/) { // TODO: UTF-8 support. if ((*src)[i] > 0x7f) { errno = EILSEQ; + if (dst != NULL) { + *src = &(*src)[i]; + } return static_cast(-1); } if (dst != NULL) { diff --git a/tests/wchar_test.cpp b/tests/wchar_test.cpp index 0a63b0017..d5d27ed75 100644 --- a/tests/wchar_test.cpp +++ b/tests/wchar_test.cpp @@ -58,8 +58,8 @@ TEST(wchar, wctomb_wcrtomb) { } TEST(wchar, wcstombs_wcrtombs) { - wchar_t chars[] = { L'h', L'e', L'l', L'l', L'o', 0 }; - wchar_t bad_chars[] = { L'h', L'i', 666, 0 }; + const wchar_t chars[] = { L'h', L'e', L'l', L'l', L'o', 0 }; + const wchar_t bad_chars[] = { L'h', L'i', 666, 0 }; const wchar_t* src; char bytes[BUFSIZ];