solution to wxMBConv stuff - make a seperate XX2XX for strings of a specified length, use this in wxString instead of previous worst-case method

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30186 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Ryan Norton
2004-10-30 20:16:25 +00:00
parent 9026d6fd7f
commit e4e3bbb447
4 changed files with 157 additions and 147 deletions

View File

@@ -41,11 +41,18 @@ class WXDLLIMPEXP_BASE wxMBConv
public:
// the actual conversion takes place here
//
// note that n is the size of the output buffer, not the length of input
// note that outputSize is the size of the output buffer, not the length of input
// (the latter is always supposed to be NUL-terminated)
virtual size_t MB2WC(wchar_t *outputBuf, const char *psz, size_t outputSize) const = 0;
virtual size_t WC2MB(char *outputBuf, const wchar_t *psz, size_t outputSize) const = 0;
// actual conversion for strings with embedded null characters
//
// outputSize is the size of the output buffer
// pszLen is the length of the input string (including all but last null character)
size_t MB2WC(wchar_t *outputBuf, const char *psz, size_t outputSize, size_t pszLen) const;
size_t WC2MB(char *outputBuf, const wchar_t *psz, size_t outputSize, size_t pszLen) const;
// MB <-> WC
const wxWCharBuffer cMB2WC(const char *psz) const;
const wxCharBuffer cWC2MB(const wchar_t *psz) const;