X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6cf7c00f3beb3aa6c84b47d43d904e0e40f91a97..6f841509cecded593e8e7c20d4a9e23ed29e5fa1:/src/common/string.cpp diff --git a/src/common/string.cpp b/src/common/string.cpp index 532e77b6d5..2d371b9fa4 100644 --- a/src/common/string.cpp +++ b/src/common/string.cpp @@ -256,8 +256,7 @@ wxString::wxString(const void *pStart, const void *pEnd) wxString::wxString(const char *psz, wxMBConv& conv, size_t nLength) { // first get necessary size - - size_t nLen = conv.MB2WC((wchar_t *) NULL, psz, 0); + size_t nLen = psz ? conv.MB2WC((wchar_t *) NULL, psz, 0) : 0; // nLength is number of *Unicode* characters here! if (nLen > nLength) @@ -279,8 +278,7 @@ wxString::wxString(const char *psz, wxMBConv& conv, size_t nLength) wxString::wxString(const wchar_t *pwz) { // first get necessary size - - size_t nLen = wxWC2MB((char *) NULL, pwz, 0); + size_t nLen = pwz ? wxWC2MB((char *) NULL, pwz, 0) : 0; // empty? if ( nLen != 0 ) { @@ -1187,8 +1185,8 @@ int wxString::PrintfV(const wxChar* pszFormat, va_list argptr) if (s.Len() < min_width) s.Pad(min_width - s.Len(), _T(' '), adj_left); *this += s; - done = TRUE; } + done = TRUE; break; case _T('n'): if (ilen == 0) { @@ -2091,15 +2089,16 @@ size_t wxCSConv::MB2WC(wchar_t *buf, const char *psz, size_t n) const ((wxCSConv *)this)->LoadNow(); // discard constness if (buf) { if (m_cset) { - for (size_t c=0; c<=n; c++) + for (size_t c=0; cdata[psz[c]]; } else { // latin-1 (direct) - for (size_t c=0; c<=n; c++) + for (size_t c=0; cLoadNow(); // discard constness if (buf) { if (m_cset) { - for (size_t c=0; c<=n; c++) { + for (size_t c=0; cdata[n] != psz[c]); n++); buf[c] = (n>0xff) ? '?' : n; } } else { // latin-1 (direct) - for (size_t c=0; c<=n; c++) + for (size_t c=0; c0xff) ? '?' : psz[c]; } + return n; } - return n; + return wcslen(psz); } -