]> code.citadel.org Git - citadel.git/blobdiff - webcit/gettext.c
ServerShutdownModule_GETTEXT() was failing on non-locale-aware systems, fixed
[citadel.git] / webcit / gettext.c
index 129a8cce52273bf28520d07a5c066c6bba265238..120f4bcfd42c5cec74e02ca7414da88cc5682755 100644 (file)
@@ -41,7 +41,7 @@ const char *AvailLang[] = {
        ""
 };
 
-const char **AvailLangLoaded;
+const char **AvailLangLoaded = NULL;
 long nLocalesLoaded = 0;
 
 #ifdef HAVE_USELOCALE
@@ -379,22 +379,6 @@ void initialize_locales(void) {
 #endif
 }
 
-
-void 
-ServerShutdownModule_GETTEXT
-(void)
-{
-#ifdef HAVE_USELOCALE
-       int i;
-       for (i = 0; i < nLocalesLoaded; ++i) {
-               if (Empty_Locale != wc_locales[i])
-                       freelocale(wc_locales[i]);
-       }
-       free(wc_locales);
-#endif
-       free(AvailLangLoaded);
-}
-
 #else  /* ENABLE_NLS */
 const char *AvailLang[] = {
        "C", ""};
@@ -406,7 +390,7 @@ void tmplput_offer_languages(StrBuf *Target, WCTemplputParams *TP)
 }
 
 /* dummy for non NLS enabled systems */
-void set_selected_language(char *lang) {
+void set_selected_language(const char *lang) {
 }
 
 /* dummy for non NLS enabled systems */
@@ -417,6 +401,9 @@ void go_selected_language(void) {
 void stop_selected_language(void) {
 }
 
+void initialize_locales(void) {
+}
+
 #endif /* ENABLE_NLS */
 
 
@@ -491,3 +478,18 @@ SessionDestroyModule_GETTEXT
        stop_selected_language();                               /* unset locale */
 #endif
 }
+
+void 
+ServerShutdownModule_GETTEXT
+(void)
+{
+#ifdef HAVE_USELOCALE
+       int i;
+       for (i = 0; i < nLocalesLoaded; ++i) {
+               if (Empty_Locale != wc_locales[i])
+                       freelocale(wc_locales[i]);
+       }
+       free(wc_locales);
+#endif
+       if (!AvailLangLoaded) free(AvailLangLoaded);
+}