diff options
author | Andrew Tridgell <tridge@samba.org> | 2004-12-10 03:41:54 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:06:28 -0500 |
commit | 06fbfade75af40d2d68f86a71a8dd5eaa3ecd0ab (patch) | |
tree | fcbb9c04791065bbdeff4d47a0f8473226e3ea63 | |
parent | b71dba6a769770d43cc7430ad8ca7f9fa761f8ef (diff) | |
download | samba-06fbfade75af40d2d68f86a71a8dd5eaa3ecd0ab.tar.gz samba-06fbfade75af40d2d68f86a71a8dd5eaa3ecd0ab.tar.bz2 samba-06fbfade75af40d2d68f86a71a8dd5eaa3ecd0ab.zip |
r4123: set locale to C to ensure ascii string functions work
thanks to Bjoern JACKE <samba@j3e.de> for pointing this out
(This used to be commit 53c4d0a7d83181afbe01bbbb0840cb2a086b45da)
-rw-r--r-- | source4/build/m4/rewrite.m4 | 2 | ||||
-rw-r--r-- | source4/lib/charcnv.c | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/source4/build/m4/rewrite.m4 b/source4/build/m4/rewrite.m4 index ee73451697..e9a59a4012 100644 --- a/source4/build/m4/rewrite.m4 +++ b/source4/build/m4/rewrite.m4 @@ -424,6 +424,8 @@ AC_CHECK_FUNCS(syscall) AC_CHECK_FUNCS(getdents) AC_CHECK_FUNCS(pread pwrite) +# needed for lib/charcnv.c +AC_CHECK_FUNCS(setlocale) # # stat64 family may need <sys/stat.h> on some systems, notably ReliantUNIX 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); } |