summaryrefslogtreecommitdiff
path: root/source4/lib/charcnv.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/lib/charcnv.c')
-rw-r--r--source4/lib/charcnv.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/source4/lib/charcnv.c b/source4/lib/charcnv.c
index bfb1081474..fc1f511403 100644
--- a/source4/lib/charcnv.c
+++ b/source4/lib/charcnv.c
@@ -88,6 +88,17 @@ static smb_iconv_t get_conv_handle(charset_t from, charset_t to)
to look at */
if (initialised == 0) {
initialised = 1;
+
+#ifdef HAVE_SETLOCALE
+ /* we set back the locale to C to get ASCII-compatible
+ toupper/lower functions. For now we do not need
+ any other POSIX localisations anyway. When we
+ should really need localized string functions one
+ day we need to write our own ascii_tolower etc.
+ */
+ setlocale(LC_ALL, "C");
+#endif
+
atexit(init_iconv);
}