In default_charset(): if nl_langinfo() gives us "646", return "ascii".
authorWayne Davison <wayned@samba.org>
Sun, 5 Feb 2006 07:20:10 +0000 (07:20 +0000)
committerWayne Davison <wayned@samba.org>
Sun, 5 Feb 2006 07:20:10 +0000 (07:20 +0000)
rsync.c

diff --git a/rsync.c b/rsync.c
index ee2f72b671f559f7ac4b3ecb7bc7e18ad7aba8bc..8595d517facb331eda20f22cbd9f2296c5001b38 100644 (file)
--- a/rsync.c
+++ b/rsync.c
@@ -58,7 +58,10 @@ static char *default_charset(void)
 #if defined HAVE_LIBCHARSET_H && defined HAVE_LOCALE_CHARSET
        return locale_charset();
 #elif defined HAVE_LANGINFO_H && defined HAVE_NL_LANGINFO
-       return nl_langinfo(CODESET);
+       char *def = nl_langinfo(CODESET);
+       if (strcmp(def, "646") == 0) /* Solaris brain-damage */
+               return "ascii";
+       return def;
 #else
        return ""; /* Works with (at the very least) gnu iconv... */
 #endif