]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/encconv.cpp
don't crash if we can't detect g_wcCharset
[wxWidgets.git] / src / common / encconv.cpp
index d4f8aebebeb3b3137688cbeebe00094d85de457a..8422433e81fd9f7f0c7daf8ffd6802771c135857 100644 (file)
@@ -18,6 +18,8 @@
   #pragma hdrstop
 #endif
 
+#if wxUSE_FONTMAP
+
 #include "wx/encconv.h"
 
 #include <stdlib.h>
@@ -52,7 +54,7 @@ typedef struct {
 
 
 
-static int LINKAGEMODE CompareCharsetItems(const void *i1, const void *i2)
+extern "C" int LINKAGEMODE CompareCharsetItems(const void *i1, const void *i2)
 {
     return ( ((CharsetItem*)i1) -> u - ((CharsetItem*)i2) -> u );
 }
@@ -138,7 +140,8 @@ bool wxEncodingConverter::Init(wxFontEncoding input_enc, wxFontEncoding output_e
         else
         {
             CharsetItem *rev = BuildReverseTable(out_tbl);
-            CharsetItem *item, key;
+            CharsetItem *item;
+            CharsetItem key;
 
             for (i = 0; i < 128; i++)
             {
@@ -150,7 +153,11 @@ bool wxEncodingConverter::Init(wxFontEncoding input_enc, wxFontEncoding output_e
                 if (item)
                     m_Table[128 + i] = (tchar)item -> c;
                 else
-                    m_Table[128 + i] = 128 + i; // don't know => don't touch
+#if wxUSE_WCHAR_T
+                    m_Table[128 + i] = (wchar_t)(128 + i);
+#else
+                    m_Table[128 + i] = (char)(128 + i);
+#endif                                 
             }
 
             delete[] rev;
@@ -437,3 +444,5 @@ wxFontEncodingArray wxEncodingConverter::GetAllEquivalents(wxFontEncoding enc)
 
     return arr;
 }
+
+#endif // wxUSE_FONTMAP