]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/strconv.cpp
Applied patch [ 705663 ] Fix capture mouse bug in wxGrid
[wxWidgets.git] / src / common / strconv.cpp
index 59fdd4af985bfbac0e21586dc875a6ec35378ea0..bbd8ce8369d4035e7524af5406b0f42adac52eb6 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     29/01/98
 // RCS-ID:      $Id$
 // Copyright:   (c) 1999 Ove Kaaven, Robert Roebling, Vadim Zeitlin, Vaclav Slavik
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
@@ -58,7 +58,8 @@
     WXDLLEXPORT_DATA(wxMBConv) wxConvLibc,
                                wxConvFile,
                                wxConvISO8859_1,
-                               wxConvLocal;
+                               wxConvLocal,
+                               wxConvUTF8;
 #endif // wxUSE_WCHAR_T
 
 WXDLLEXPORT_DATA(wxMBConv *) wxConvCurrent = &wxConvLibc;
@@ -456,7 +457,7 @@ size_t wxMBConvUTF8::WC2MB(char *buf, const wchar_t *psz, size_t n) const
     }
 
     if (buf && (len<n)) *buf = 0;
-    
+
     return len;
 }
 
@@ -678,7 +679,7 @@ size_t IC_CharSet::MB2WC(wchar_t *buf, const char *psz, size_t n)
             // convert to native endianness
             WC_BSWAP(buf /* _not_ bufPtr */, res)
         }
-        
+
         // NB: iconv was given only strlen(psz) characters on input, and so
         //     it couldn't convert the trailing zero. Let's do it ourselves
         //     if there's some room left for it in the output buffer.
@@ -739,7 +740,7 @@ size_t IC_CharSet::WC2MB(char *buf, const wchar_t *psz, size_t n)
         cres = iconv( w2m, ICONV_CHAR_CAST(&psz), &inbuf, &buf, &outbuf );
 
         res = n-outbuf;
-        
+
         // NB: iconv was given only wcslen(psz) characters on input, and so
         //     it couldn't convert the trailing zero. Let's do it ourselves
         //     if there's some room left for it in the output buffer.
@@ -782,13 +783,7 @@ size_t IC_CharSet::WC2MB(char *buf, const wchar_t *psz, size_t n)
 // Win32 conversion classes
 // ============================================================================
 
-#if defined(__WIN32__) && !defined(__WXMICROWIN__)
-
-#ifdef __WXWINE__
-    #define WINE_CAST (WCHAR *)
-#else
-    #define WINE_CAST
-#endif
+#if defined(__WIN32__) && !defined(__WXMICROWIN__) && !defined(__WXUNIVERSAL__)
 
 extern long wxCharsetToCodepage(const wxChar *charset); // from utils.cpp
 
@@ -809,7 +804,7 @@ public:
                                 0,              // flags (none)
                                 psz,            // input string
                                 -1,             // its length (NUL-terminated)
-                                WINE_CAST buf,  // output string
+                                buf,            // output string
                                 buf ? n : 0     // size of output buffer
                              );
 
@@ -824,7 +819,7 @@ public:
                              (
                                 m_CodePage,     // code page
                                 0,              // flags (none)
-                                WINE_CAST psz,  // input string
+                                psz,            // input string
                                 -1,             // it is (wide) NUL-terminated
                                 buf,            // output buffer
                                 buf ? n : 0,    // and its size
@@ -842,7 +837,7 @@ public:
 public:
     long m_CodePage;
 };
-#endif // __WIN32__
+#endif // defined(__WIN32__) && !defined(__WXMICROWIN__) && !defined(__WXUNIVERSAL__)
 
 // ============================================================================
 // wxEncodingConverter based conversion classes
@@ -942,14 +937,14 @@ static wxCharacterSet *wxGetCharacterSet(const wxChar *name)
         cset = NULL;
     }
 
-#if defined(__WIN32__) && !defined(__WXMICROWIN__)
+#if defined(__WIN32__) && !defined(__WXMICROWIN__) && !defined(__WXUNIVERSAL__)
     cset = new CP_CharSet(name);
     if ( cset->usable() )
         return cset;
 
     delete cset;
     cset = NULL;
-#endif // __WIN32__
+#endif // defined(__WIN32__) && !defined(__WXMICROWIN__) && !defined(__WXUNIVERSAL__)
 
 #if wxUSE_FONTMAP
     cset = new EC_CharSet(name);
@@ -1018,8 +1013,11 @@ void wxCSConv::SetName(const wxChar *charset)
 
 void wxCSConv::LoadNow()
 {
-    if (m_deferred)
+    if ( m_deferred )
     {
+        // it would probably be better to make GetSystemEncodingName() always
+        // available (i.e. even when wxUSE_INTL == 0)?
+#if wxUSE_INTL
         if ( !m_name )
         {
             wxString name = wxLocale::GetSystemEncodingName();
@@ -1028,6 +1026,7 @@ void wxCSConv::LoadNow()
                 SetName(name);
             }
         }
+#endif // wxUSE_INTL
 
         // wxGetCharacterSet() complains about NULL name
         m_cset = m_name ? wxGetCharacterSet(m_name) : NULL;