Made wxMBConv::c??2?? methods handle conversion failures
(by returning a NULL buffer... this causes an assertion failure in buffer.h in debug mode, perhaps that assert should be removed? Well, it's better than completely unpredictable behaviour anyway) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_2_BRANCH@7037 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -72,6 +72,8 @@ const wxWCharBuffer wxMBConv::cMB2WC(const char *psz) const
|
|||||||
if (psz)
|
if (psz)
|
||||||
{
|
{
|
||||||
size_t nLen = MB2WC((wchar_t *) NULL, psz, 0);
|
size_t nLen = MB2WC((wchar_t *) NULL, psz, 0);
|
||||||
|
if (nLen == (size_t)-1)
|
||||||
|
return wxWCharBuffer((wchar_t *) NULL);
|
||||||
wxWCharBuffer buf(nLen);
|
wxWCharBuffer buf(nLen);
|
||||||
MB2WC((wchar_t *)(const wchar_t *) buf, psz, nLen);
|
MB2WC((wchar_t *)(const wchar_t *) buf, psz, nLen);
|
||||||
return buf;
|
return buf;
|
||||||
@@ -85,6 +87,8 @@ const wxCharBuffer wxMBConv::cWC2MB(const wchar_t *psz) const
|
|||||||
if (psz)
|
if (psz)
|
||||||
{
|
{
|
||||||
size_t nLen = WC2MB((char *) NULL, psz, 0);
|
size_t nLen = WC2MB((char *) NULL, psz, 0);
|
||||||
|
if (nLen == (size_t)-1)
|
||||||
|
return wxCharBuffer((char *) NULL);
|
||||||
wxCharBuffer buf(nLen);
|
wxCharBuffer buf(nLen);
|
||||||
WC2MB((char *)(const char *) buf, psz, nLen);
|
WC2MB((char *)(const char *) buf, psz, nLen);
|
||||||
return buf;
|
return buf;
|
||||||
|
Reference in New Issue
Block a user