1. use a manifest constant wxNO_LEN instead of -1 for lengths everywhere
2. reimplemented UTF-16/32 conversions using To/FromWChar() API instead of MB2WC/WC2MB for Windows (or rather SIZEOF_WCHAR_T == 2 platforms), the first tangible result is that reading UTF-32BE text streams now works too 3. more off by 1 fixes git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1013,13 +1013,7 @@ wxString::wxString(const char *psz, const wxMBConv& conv, size_t nLength)
|
||||
{
|
||||
if ( nLength == npos )
|
||||
{
|
||||
nLength = (size_t)-1;
|
||||
}
|
||||
else if ( nLength == length() )
|
||||
{
|
||||
// this is important to avoid copying the string in cMB2WC: we're
|
||||
// already NUL-terminated so we can pass this NUL with the data
|
||||
nLength++;
|
||||
nLength = wxNO_LEN;
|
||||
}
|
||||
|
||||
size_t nLenWide;
|
||||
@@ -1048,13 +1042,7 @@ wxString::wxString(const wchar_t *pwz, const wxMBConv& conv, size_t nLength)
|
||||
{
|
||||
if ( nLength == npos )
|
||||
{
|
||||
nLength = (size_t)-1;
|
||||
}
|
||||
else if ( nLength == length() )
|
||||
{
|
||||
// this is important to avoid copying the string in cMB2WC: we're
|
||||
// already NUL-terminated so we can pass this NUL with the data
|
||||
nLength++;
|
||||
nLength = wxNO_LEN;
|
||||
}
|
||||
|
||||
size_t nLenMB;
|
||||
|
Reference in New Issue
Block a user