X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a33c7045d1b9ecc78a617bf0a568ca64a53c814b..69659fd770f615210efac4b4fa741b3ad6223616:/src/common/string.cpp diff --git a/src/common/string.cpp b/src/common/string.cpp index b9456ecee4..87e5613472 100644 --- a/src/common/string.cpp +++ b/src/common/string.cpp @@ -973,35 +973,35 @@ int wxString::CmpNoCase(const wxString& s) const #endif #endif -wxString wxString::FromAscii(const char *ascii) +wxString wxString::FromAscii(const char *ascii, size_t len) { - if (!ascii) + if (!ascii || len == 0) return wxEmptyString; - size_t len = strlen(ascii); wxString res; - if ( len ) { wxImplStringBuffer buf(res, len); wxStringCharType *dest = buf; - for ( ;; ) + for ( ; len > 0; --len ) { unsigned char c = (unsigned char)*ascii++; wxASSERT_MSG( c < 0x80, _T("Non-ASCII value passed to FromAscii().") ); *dest++ = (wchar_t)c; - - if ( c == '\0' ) - break; } } return res; } +wxString wxString::FromAscii(const char *ascii) +{ + return FromAscii(ascii, wxStrlen(ascii)); +} + wxString wxString::FromAscii(const char ascii) { // What do we do with '\0' ?