]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/intl.cpp
don't use %08p format string, gcc complains about it
[wxWidgets.git] / src / common / intl.cpp
index d7d4c60fdc7d1bc9b9f67d0ae93720369b37fdd6..8805dbdcb1211bbf17e3ef10769305630caefb4f 100644 (file)
@@ -1141,7 +1141,7 @@ bool wxMsgCatalogFile::Load(const wxChar *szDirPrefix, const wxChar *szName,
 
   // read the whole file in memory
   m_pData = new size_t8[nSize];
-  if ( fileMsg.Read(m_pData, nSize) != nSize ) {
+  if ( fileMsg.Read(m_pData, nSize) != lenFile ) {
     wxDELETEA(m_pData);
     return false;
   }
@@ -1254,14 +1254,23 @@ void wxMsgCatalogFile::FillHash(wxMessagesHash& hash,
     if ( convertEncoding )
     {
         if ( m_charset.empty() )
+        {
             inputConv = wxConvCurrent;
+        }
         else
+        {
             inputConv =
             csConv = new wxCSConv(m_charset);
+        }
     }
-    else // no conversion needed
+    else // no need to convert the encoding
     {
+        // we still need the conversion for Unicode build
+#if wxUSE_UNICODE
+        inputConv = wxConvCurrent;
+#else // !wxUSE_UNICODE
         inputConv = NULL;
+#endif // wxUSE_UNICODE/!wxUSE_UNICODE
     }
 
     // conversion to apply to msgid strings before looking them up: we only
@@ -1315,11 +1324,11 @@ void wxMsgCatalogFile::FillHash(wxMessagesHash& hash,
         wxString msgid(data, *inputConv);
 #else // ASCII
         wxString msgid;
-#if wxUSE_WCHAR_T
-        if ( inputConv && sourceConv )
-            msgid = wxString(inputConv->cMB2WC(data), *sourceConv);
-        else
-#endif
+        #if wxUSE_WCHAR_T
+            if ( inputConv && sourceConv )
+                msgid = wxString(inputConv->cMB2WC(data), *sourceConv);
+            else
+        #endif
             msgid = data;
 #endif // wxUSE_UNICODE
 
@@ -1591,7 +1600,9 @@ bool wxLocale::Init(int language, int flags)
     wxString locale;
 
     // Set the locale:
-#if defined(__UNIX__) && !defined(__WXMAC__)
+#if defined(__OS2__)
+    wxMB2WXbuf retloc = wxSetlocale(LC_ALL , wxEmptyString);
+#elif defined(__UNIX__) && !defined(__WXMAC__)
     if (language == wxLANGUAGE_DEFAULT)
         locale = wxEmptyString;
     else
@@ -1762,8 +1773,6 @@ bool wxLocale::Init(int language, int flags)
         wxLogError(wxT("Cannot set locale to '%s'."), locale.c_str());
         return false;
     }
-#elif defined(__WXPM__)
-    wxMB2WXbuf retloc = wxSetlocale(LC_ALL , wxEmptyString);
 #else
     return false;
     #define WX_NO_LOCALE_SUPPORT
@@ -3545,4 +3554,3 @@ void wxLocale::InitLanguagesDB()
 // --- --- --- generated code ends here --- --- ---
 
 #endif // wxUSE_INTL
-