TheSession->http_sock = sock;
TheSession->lastreq = time(NULL); /* log */
TheSession->gzip_ok = gzip_ok;
+#ifdef ENABLE_NLS
+ go_selected_language(); /* set locale */
+#endif
session_loop(req); /* do transaction */
+#ifdef ENABLE_NLS
+ stop_selected_language(); /* unset locale */
+#endif
pthread_mutex_unlock(&TheSession->SessionMutex); /* unbind */
/* Free the request buffer */
int nParts;
const int nAvail = 1; /* Number of members in AvailLang */
char *search = (char *) malloc(len);
- locale_t my_Locale;
- locale_t my_Empty_Locale;
+ // locale_t my_Locale;
+ // locale_t my_Empty_Locale;
memcpy(search, LocaleString, len);
search[len] = '\0';
memcpy(search, locale, len);
memcpy(&search[len], ".UTF8", 5);
search[len + 5] = '\0';
- my_Empty_Locale = newlocale(LC_ALL_MASK, NULL, NULL); /* create default locale */
- my_Locale = newlocale(LC_MESSAGES_MASK /*|LC_TIME_MASK FIXME */ ,
- search, my_Empty_Locale);
-
- uselocale(my_Locale);
- // freelocale(my_Locale);
- // freelocale(my_Empty_Locale);
- free(search);
+
+
+ // my_Empty_Locale = newlocale(LC_ALL_MASK, NULL, NULL); /* create default locale */
+ // my_Locale = newlocale(LC_MESSAGES_MASK /*|LC_TIME_MASK FIXME */ ,
+ // search, my_Empty_Locale);
+
+ // uselocale(my_Locale);
+ // // freelocale(my_Locale);
+ // // freelocale(my_Empty_Locale);
+ // free(search);
}
}
/*
- * Activate the selected language for this session.
+ * Activate and deactivate the selected language for this session.
*/
void go_selected_language(void) {
- lprintf(9, "uselocale(%d)\n", WC->selected_language);
uselocale(wc_locales[WC->selected_language]);
}
+void stop_selected_language(void) {
+ uselocale(LC_GLOBAL_LOCALE);
+}
+
/*
* Create a locale_t for each available language
void go_selected_language(void) {
}
+void stop_selected_language(void) {
+}
+
#endif /* ENABLE_NLS */
void offer_languages(void);
void set_selected_language(char *);
void go_selected_language(void);
+void stop_selected_language(void);
void embed_room_banner(char *, int);
/* navbar types that can be passed to embed_room_banner */