summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2003-06-16 02:22:52 +0000
committerAndrew Tridgell <tridge@samba.org>2003-06-16 02:22:52 +0000
commit8cd67d76683a41a1db5efc3a9c65e056ec2263f4 (patch)
treec20fdee14ba1971aa21b2c1f898caaacf6df7acf
parent145b01a496fcc35cc86cacb1ac79ed754257a7c3 (diff)
downloadsamba-8cd67d76683a41a1db5efc3a9c65e056ec2263f4.tar.gz
samba-8cd67d76683a41a1db5efc3a9c65e056ec2263f4.tar.bz2
samba-8cd67d76683a41a1db5efc3a9c65e056ec2263f4.zip
reverted locale patch put in by jht (originally from vorlon).
There are lots of things wrong with this patch, including: 1) it overrides a user chosen configuration option 2) it adds lots of complexity inside a loop when a tiny piece of code outside the loop would do the same thing 3) it does no error checking, and is sure to crash on some systems If you want this functionality then try something like this at the end of charset_name(): #ifdef HAVE_NL_LANGINFO if (strcasecmp(ret, "LOCALE") == 0) { const char *ln = nl_langinfo(CODESET); if (ln) { DEBUG(5,("Substituting charset '%s' for LOCALE\n", ln)); return ln; } } #endif then users can set 'display charset = LOCALE' to get the locale based charset. You could even make that the default for systems that have nl_langinfo(). (This used to be commit 382b9b806b1ecd227b1ea247e3825d6848090462)
-rw-r--r--source3/configure.in2
-rw-r--r--source3/include/includes.h8
-rw-r--r--source3/lib/charcnv.c37
3 files changed, 0 insertions, 47 deletions
diff --git a/source3/configure.in b/source3/configure.in
index 7a116b60ab..c81712da5c 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -529,7 +529,6 @@ AC_CHECK_HEADERS(sys/mount.h sys/vfs.h sys/fs/s5param.h sys/filsys.h termios.h t
AC_CHECK_HEADERS(sys/termio.h sys/statfs.h sys/dustat.h sys/statvfs.h stdarg.h sys/sockio.h)
AC_CHECK_HEADERS(security/pam_modules.h security/_pam_macros.h dlfcn.h)
AC_CHECK_HEADERS(sys/syslog.h syslog.h execinfo.h)
-AC_CHECK_HEADERS(langinfo.h locale.h)
# In valgrind 1.0.x, it's just valgrind.h. In 1.9.x+ there's a
# subdirectory of headers.
@@ -844,7 +843,6 @@ AC_CHECK_FUNCS(lstat64 fopen64 atexit grantpt dup2 lseek64 ftruncate64 readdir64
AC_CHECK_FUNCS(fseek64 fseeko64 ftell64 ftello64 setluid getpwanam setlinebuf)
AC_CHECK_FUNCS(srandom random srand rand setenv usleep strcasecmp fcvt fcvtl symlink readlink)
AC_CHECK_FUNCS(syslog vsyslog getgrouplist timegm)
-AC_CHECK_FUNCS(setlocale nl_langinfo)
# setbuffer, shmget, shm_open are needed for smbtorture
AC_CHECK_FUNCS(setbuffer shmget shm_open backtrace_symbols)
diff --git a/source3/include/includes.h b/source3/include/includes.h
index edaeda3abe..3dbe6d1093 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -441,14 +441,6 @@
#include <attr/xattr.h>
#endif
-#if HAVE_LOCALE_H
-#include <locale.h>
-#endif
-
-#if HAVE_LANGINFO_H
-#include <langinfo.h>
-#endif
-
/* Special macros that are no-ops except when run under Valgrind on
* x86. They've moved a little bit from valgrind 1.0.4 to 1.9.4 */
#if HAVE_VALGRIND_MEMCHECK_H
diff --git a/source3/lib/charcnv.c b/source3/lib/charcnv.c
index b37f468134..708ef343e1 100644
--- a/source3/lib/charcnv.c
+++ b/source3/lib/charcnv.c
@@ -90,28 +90,10 @@ void init_iconv(void)
if (!conv_handles[CH_UCS2][CH_UNIX])
conv_handles[CH_UCS2][CH_UNIX] = smb_iconv_open("ASCII", "UCS-2LE");
-#ifdef HAVE_SETLOCALE
- setlocale(LC_ALL, "");
-#endif
-
for (c1=0;c1<NUM_CHARSETS;c1++) {
for (c2=0;c2<NUM_CHARSETS;c2++) {
const char *n1 = charset_name((charset_t)c1);
const char *n2 = charset_name((charset_t)c2);
-#ifdef HAVE_NL_LANGINFO
- const char *ln = nl_langinfo(CODESET);
-
- if (c1==CH_DISPLAY && conv_handles[c1][c2] &&
- strcmp(ln, conv_handles[c1][c2]->from_name) == 0 &&
- strcmp(n2, conv_handles[c1][c2]->to_name) == 0)
- continue;
-
- if (c2==CH_DISPLAY && conv_handles[c1][c2] &&
- strcmp(n1, conv_handles[c1][c2]->from_name) == 0 &&
- strcmp(ln, conv_handles[c1][c2]->to_name) == 0)
- continue;
-
-#endif
if (conv_handles[c1][c2] &&
strcmp(n1, conv_handles[c1][c2]->from_name) == 0 &&
strcmp(n2, conv_handles[c1][c2]->to_name) == 0)
@@ -122,25 +104,6 @@ void init_iconv(void)
if (conv_handles[c1][c2])
smb_iconv_close(conv_handles[c1][c2]);
-#ifdef HAVE_NL_LANGINFO
- if (c1==CH_DISPLAY && c2==CH_DISPLAY) {
- conv_handles[c1][c2] = smb_iconv_open(ln,ln);
- if (conv_handles[c1][c2] != (smb_iconv_t)-1) {
- continue;
- }
- } else if (c1==CH_DISPLAY) {
- conv_handles[c1][c2] = smb_iconv_open(n2,ln);
- if (conv_handles[c1][c2] != (smb_iconv_t)-1) {
- continue;
- }
- } else if (c2==CH_DISPLAY) {
- conv_handles[c1][c2] = smb_iconv_open(ln,n1);
- if (conv_handles[c1][c2] != (smb_iconv_t)-1) {
- continue;
- }
- }
- /* Fall back to the configured charset. */
-#endif
conv_handles[c1][c2] = smb_iconv_open(n2,n1);
if (conv_handles[c1][c2] == (smb_iconv_t)-1) {
DEBUG(0,("Conversion from %s to %s not supported\n",