From 1c2e6a28129dcb918b9bb1531b13de7a7e89a33c Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Wed, 23 Jan 2002 00:14:10 +0000 Subject: [PATCH] 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 --- include/wx/string.h | 2 +- src/common/string.cpp | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/include/wx/string.h b/include/wx/string.h index b5b8104..c3380f2 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 d0297f3..134cd45 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) ) { -- 2.7.4