Fix narrow_to_wide_c (ANDROID)

* Ensure converted string is NUL terminated
* Restore logic to that used prior to 9e2a9b5
This commit is contained in:
Craig Robbins 2015-03-02 13:16:01 +10:00
parent 773aa8c57b
commit aefe80769b
1 changed files with 5 additions and 3 deletions

View File

@ -83,16 +83,18 @@ const wchar_t *narrow_to_wide_c(const char *mbs)
size_t mbl = strlen(mbs);
wchar_t *wcs = new wchar_t[mbl + 1];
for (size_t i = 0; i < mbl; i++) {
size_t i, dest_i = 0;
for (i = 0; i < mbl; i++) {
if (((unsigned char) mbs[i] > 31) &&
((unsigned char) mbs[i] < 127)) {
wcs[i] = wide_chars[(unsigned char) mbs[i] - 32];
wcs[dest_i++] = wide_chars[(unsigned char) mbs[i] - 32];
}
//handle newline
else if (mbs[i] == '\n') {
wcs[i] = L'\n';
wcs[dest_i++] = L'\n';
}
}
wcs[dest_i] = '\0';
return wcs;
}