faster portsetting backpatched
[wxWidgets.git] / src / common / intl.cpp
index 85ae05c74bb29f5db7ce151ffdd6398e579c45bc..b872663c75ee3108fe8496bc11913e76c5b9aa57 100644 (file)
@@ -17,7 +17,7 @@
 // headers
 // ----------------------------------------------------------------------------
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma implementation "intl.h"
 #endif
 
@@ -513,6 +513,7 @@ void wxMsgCatalogFile::FillHash(wxMessagesHash& hash, bool convertEncoding) cons
         }
     }
 #endif // wxUSE_WCHAR_T/!wxUSE_WCHAR_T
+    (void)convertEncoding; // get rid of warnings about unused parameter
 }
 
 wxString wxMsgCatalogFile::GetCharset() const
@@ -647,7 +648,9 @@ bool wxLocale::Init(const wxChar *szName,
   // TODO: how to find languageId
   // SetLocaleInfo(languageId, SORT_DEFAULT, localeName);
 #else
-  m_pszOldLocale = wxStrdup(wxSetlocale(LC_ALL, szLocale));
+  m_pszOldLocale = wxSetlocale(LC_ALL, szLocale);
+  if ( m_pszOldLocale )
+      m_pszOldLocale = wxStrdup(m_pszOldLocale);
 #endif
 
   if ( m_pszOldLocale == NULL )
@@ -1381,7 +1384,7 @@ wxString wxLocale::GetSystemEncodingName()
     // to Unix98)
     char *oldLocale = strdup(setlocale(LC_CTYPE, NULL));
     setlocale(LC_CTYPE, "");
-    char *alang = nl_langinfo(CODESET);
+    const char *alang = nl_langinfo(CODESET);
     setlocale(LC_CTYPE, oldLocale);
     free(oldLocale);