From: Václav Slavík Date: Wed, 23 Jan 2002 00:14:10 +0000 (+0000) Subject: added length argument to wxString::wxString(wchar_t*), just like in case of wxChar... X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/1c2e6a28129dcb918b9bb1531b13de7a7e89a33c?ds=inline added length argument to wxString::wxString(wchar_t*), just like in case of wxChar* one git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/string.h b/include/wx/string.h index b5b8104dea..c3380f25ec 100644 --- a/include/wx/string.h +++ b/include/wx/string.h @@ -346,7 +346,7 @@ public: #if wxUSE_WCHAR_T // from wide (Unicode) string - wxString(const wchar_t *pwz, wxMBConv& conv = wxConvLibc); + wxString(const wchar_t *pwz, wxMBConv& conv = wxConvLibc, size_t nLength = wxSTRING_MAXLEN); #endif // !wxUSE_WCHAR_T // from wxCharBuffer diff --git a/src/common/string.cpp b/src/common/string.cpp index d0297f3c97..134cd452c6 100644 --- a/src/common/string.cpp +++ b/src/common/string.cpp @@ -340,10 +340,17 @@ wxString::wxString(const char *psz, wxMBConv& conv, size_t nLength) #if wxUSE_WCHAR_T // from wide string -wxString::wxString(const wchar_t *pwz, wxMBConv& conv) +wxString::wxString(const wchar_t *pwz, wxMBConv& conv, size_t nLength) { // first get necessary size - size_t nLen = pwz ? conv.WC2MB((char *) NULL, pwz, 0) : 0; + size_t nLen = 0; + if (pwz) + { + if (nLength == wxSTRING_MAXLEN) + nLen = conv.WC2MB((char *) NULL, pwz, 0); + else + nLen = nLength; + } // empty? if ( (nLen != 0) && (nLen != (size_t)-1) ) {