#else
+#if wxUSE_WCHAR_T
// from wide string
wxString::wxString(const wchar_t *pwz)
{
Init();
}
}
+#endif
#endif
return *this;
}
+#if wxUSE_WCHAR_T
wxString& wxString::operator=(const wchar_t *pwz)
{
wxString str(pwz);
*this = str;
return *this;
}
+#endif
#endif
char *val = va_arg(argptr, char *);
#if wxUSE_UNICODE
// ASCII->Unicode constructor handles max_width right
- wxString s(val, wxConv_libc, max_width);
+ wxString s(val, wxConvLibc, max_width);
#else
size_t len = wxSTRING_MAXLEN;
if (val) {
// MBConv
// ============================================================================
+WXDLLEXPORT_DATA(wxMBConv *) wxConvCurrent = &wxConvLibc;
+#if !wxUSE_WCHAR_T
+WXDLLEXPORT_DATA(wxMBConv) wxConvLibc, wxConvFile;
+#endif
+
#if wxUSE_WCHAR_T
-WXDLLEXPORT_DATA(wxMBConv *) wxConv_current = &wxConv_libc;
// ----------------------------------------------------------------------------
// standard libc conversion
// ----------------------------------------------------------------------------
-WXDLLEXPORT_DATA(wxMBConv) wxConv_libc;
+WXDLLEXPORT_DATA(wxMBConv) wxConvLibc;
size_t wxMBConv::MB2WC(wchar_t *buf, const char *psz, size_t n) const
{
// standard file conversion
// ----------------------------------------------------------------------------
-WXDLLEXPORT_DATA(wxMBConv_file) wxConv_file;
+WXDLLEXPORT_DATA(wxMBConvFile) wxConvFile;
// just use the libc conversion for now
-size_t wxMBConv_file::MB2WC(wchar_t *buf, const char *psz, size_t n) const
+size_t wxMBConvFile::MB2WC(wchar_t *buf, const char *psz, size_t n) const
{
return wxMB2WC(buf, psz, n);
}
-size_t wxMBConv_file::WC2MB(char *buf, const wchar_t *psz, size_t n) const
+size_t wxMBConvFile::WC2MB(char *buf, const wchar_t *psz, size_t n) const
{
return wxWC2MB(buf, psz, n);
}
// standard gdk conversion
// ----------------------------------------------------------------------------
-#if defined(__WXGTK__) && (GTK_MINOR_VERSION > 0)
-WXDLLEXPORT_DATA(wxMBConv_gdk) wxConv_gdk;
+#ifdef __WXGTK12__
+WXDLLEXPORT_DATA(wxMBConvGdk) wxConvGdk;
#include <gdk/gdk.h>
-size_t wxMBConv_gdk::MB2WC(wchar_t *buf, const char *psz, size_t n) const
+size_t wxMBConvGdk::MB2WC(wchar_t *buf, const char *psz, size_t n) const
{
if (buf) {
return gdk_mbstowcs((GdkWChar *)buf, psz, n);
}
}
-size_t wxMBConv_gdk::WC2MB(char *buf, const wchar_t *psz, size_t n) const
+size_t wxMBConvGdk::WC2MB(char *buf, const wchar_t *psz, size_t n) const
{
char *mbstr = gdk_wcstombs((GdkWChar *)psz);
size_t len = mbstr ? strlen(mbstr) : 0;
// UTF-7
// ----------------------------------------------------------------------------
-WXDLLEXPORT_DATA(wxMBConv_UTF7) wxConv_UTF7;
+WXDLLEXPORT_DATA(wxMBConvUTF7) wxConvUTF7;
#if 0
static char utf7_setD[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
#endif
// TODO: write actual implementations of UTF-7 here
-size_t wxMBConv_UTF7::MB2WC(wchar_t *buf, const char *psz, size_t n) const
+size_t wxMBConvUTF7::MB2WC(wchar_t * WXUNUSED(buf),
+ const char * WXUNUSED(psz),
+ size_t WXUNUSED(n)) const
{
return 0;
}
-size_t wxMBConv_UTF7::WC2MB(char *buf, const wchar_t *psz, size_t n) const
+size_t wxMBConvUTF7::WC2MB(char * WXUNUSED(buf),
+ const wchar_t * WXUNUSED(psz),
+ size_t WXUNUSED(n)) const
{
return 0;
}
// UTF-8
// ----------------------------------------------------------------------------
-WXDLLEXPORT_DATA(wxMBConv_UTF8) wxConv_UTF8;
+WXDLLEXPORT_DATA(wxMBConvUTF8) wxConvUTF8;
static unsigned long utf8_max[]={0x7f,0x7ff,0xffff,0x1fffff,0x3ffffff,0x7fffffff,0xffffffff};
-size_t wxMBConv_UTF8::MB2WC(wchar_t *buf, const char *psz, size_t n) const
+size_t wxMBConvUTF8::MB2WC(wchar_t *buf, const char *psz, size_t n) const
{
size_t len = 0;
return len;
}
-size_t wxMBConv_UTF8::WC2MB(char *buf, const wchar_t *psz, size_t n) const
+size_t wxMBConvUTF8::WC2MB(char *buf, const wchar_t *psz, size_t n) const
{
size_t len = 0;
wxStringTokenizer token(line);
wxString cmd = token.GetNextToken();
if (cmd == comchar) {
- if (token.GetNextToken() == _T("alias")) {
- wxStringTokenizer names(token.GetNextToken(),_T("/"));
- wxString name;
- while (!(name = names.GetNextToken()).IsEmpty())
- cset->names.Add(name);
- }
+ if (token.GetNextToken() == _T("alias"))
+ cset->names.Add(token.GetNextToken());
}
else if (cmd == _T("<code_set_name>"))
cset->names.Add(token.GetNextToken());
return (wxCharacterSet *)NULL;
}
-WXDLLEXPORT_DATA(wxCSConv) wxConv_local((const wxChar *)NULL);
+WXDLLEXPORT_DATA(wxCSConv) wxConvLocal((const wxChar *)NULL);
wxCSConv::wxCSConv(const wxChar *charset)
{
}
#endif//wxUSE_WCHAR_T
+
+#if wxUSE_WCHAR_T
+const wxWCharBuffer wxMBConv::cMB2WC(const char *psz) const
+ {
+ if (psz) {
+ size_t nLen = MB2WC((wchar_t *) NULL, psz, 0);
+ wxWCharBuffer buf(nLen);
+ MB2WC(WCSTRINGCAST buf, psz, nLen);
+ return buf;
+ } else return wxWCharBuffer((wchar_t *) NULL);
+ }
+
+const wxCharBuffer wxMBConv::cWC2MB(const wchar_t *psz) const
+ {
+ if (psz) {
+ size_t nLen = WC2MB((char *) NULL, psz, 0);
+ wxCharBuffer buf(nLen);
+ WC2MB(MBSTRINGCAST buf, psz, nLen);
+ return buf;
+ } else return wxCharBuffer((char *) NULL);
+ }
+
+#endif//wxUSE_WCHAR_T
+