+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.
 
 #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;