diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 613db8031a5..d8f6b529e88 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2009-12-01 Tristan Gingold + + * charset.c (_initialize_charset): Set a default value to + auto_host_charset_name if empty. + 2009-12-01 Joseph Myers * gcore.c: Include solib.h. diff --git a/gdb/charset.c b/gdb/charset.c index f5281eda169..4bc8894f15d 100644 --- a/gdb/charset.c +++ b/gdb/charset.c @@ -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;