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
This commit is contained in:
Václav Slavík
2002-01-23 00:14:10 +00:00
parent 4fd5055c0d
commit 1c2e6a2812
2 changed files with 10 additions and 3 deletions

View File

@@ -346,7 +346,7 @@ public:
#if wxUSE_WCHAR_T #if wxUSE_WCHAR_T
// from wide (Unicode) string // 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 #endif // !wxUSE_WCHAR_T
// from wxCharBuffer // from wxCharBuffer

View File

@@ -340,10 +340,17 @@ wxString::wxString(const char *psz, wxMBConv& conv, size_t nLength)
#if wxUSE_WCHAR_T #if wxUSE_WCHAR_T
// from wide string // 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 // 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? // empty?
if ( (nLen != 0) && (nLen != (size_t)-1) ) { if ( (nLen != 0) && (nLen != (size_t)-1) ) {