2009-10-23 Tristan Gingold <gingold@adacore.com>
authorTristan Gingold <gingold@adacore.com>
Wed, 2 Dec 2009 11:16:42 +0000 (11:16 +0000)
committerTristan Gingold <gingold@adacore.com>
Wed, 2 Dec 2009 11:16:42 +0000 (11:16 +0000)
* charset.c (_initialize_charset): Set a default value to
auto_host_charset_name if empty.

gdb/ChangeLog
gdb/charset.c

index 613db8031a5106fafaa1d1649bc2b8b899a1e1ef..d8f6b529e88a632e86ed6a52cfc5b0ef00a2d623 100644 (file)
@@ -1,3 +1,8 @@
+2009-12-01  Tristan Gingold  <gingold@adacore.com>
+
+       * charset.c (_initialize_charset): Set a default value to
+       auto_host_charset_name if empty.
+
 2009-12-01  Joseph Myers  <joseph@codesourcery.com>
 
        * gcore.c: Include solib.h.
index f5281eda1698906d03e7f26909561542029039ef..4bc8894f15dcee75c8bfd1af18a6e56a099a23aa 100644 (file)
@@ -818,8 +818,9 @@ _initialize_charset (void)
 #ifdef HAVE_LANGINFO_CODESET
   auto_host_charset_name = nl_langinfo (CODESET);
   /* Solaris will return `646' here -- but the Solaris iconv then
-     does not accept this.  */
-  if (!strcmp (auto_host_charset_name, "646"))
+     does not accept this.  Darwin (and maybe FreeBSD) may return "" here,
+     which GNU libiconv doesn't like (infinite loop).  */
+  if (!strcmp (auto_host_charset_name, "646") || !*auto_host_charset_name)
     auto_host_charset_name = "ASCII";
   target_charset_name = auto_host_charset_name;