//else: we've already got enough
return TRUE;
}
+
+wxStringBase::iterator wxStringBase::begin()
+{
+ if (length() > 0)
+ CopyBeforeWrite();
+ return m_pchData;
+}
+
+wxStringBase::iterator wxStringBase::end()
+{
+ if (length() > 0)
+ CopyBeforeWrite();
+ return m_pchData + length();
+}
wxStringBase::iterator wxStringBase::erase(iterator it)
{
}
else
{
- wxWCharBuffer buf(nLen + 1);
+ // the input buffer to MB2WC must always be NUL-terminated
+ wxCharBuffer inBuf(nLen);
+ memcpy(inBuf.data(), psz, nLen);
+ inBuf.data()[nLen] = '\0';
+
+ wxWCharBuffer buf(nLen);
// MB2WC wants the buffer size, not the string length hence +1
- nLen = conv.MB2WC(buf.data(), psz, nLen + 1);
+ nLen = conv.MB2WC(buf.data(), inBuf.data(), nLen + 1);
if ( nLen != (size_t)-1 )
{