1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-29 19:30:36 +02:00

Don't fail when locale env. vars specify a dot-less locale name.

Fixes <http://bugs.gnu.org/10742>.
Reported by Alírio Eyng <alirioeyng@ig.com.br>.

* gnulib-local/lib/localcharset.c.diff (environ_locale_charset): Change
  to set CODESET to "" when LOCALE lacks a dot.  Return "ISO-8859-1"
  when CODESET is the empty string.

* lib/localcharset.c: Update.

* test-suite/standalone/Makefile.am (check_SCRIPTS): Add
  `test-command-line-encoding2'.
  (TESTS): Likewise.

* test-suite/standalone/test-command-line-encoding2: New file.
This commit is contained in:
Ludovic Courtès 2012-02-18 00:04:17 +01:00
parent cac24946da
commit 5de0053178
4 changed files with 52 additions and 32 deletions

View file

@ -589,9 +589,8 @@ environ_locale_charset (void)
strcpy (buf, "ASCII");
return buf;
}
/* Resolve through the charset.alias file. */
codeset = locale;
else
codeset = "";
}
else
codeset = "";
@ -611,7 +610,8 @@ environ_locale_charset (void)
the empty string as denoting "the locale's character encoding",
thus GNU libiconv would call this function a second time. */
if (codeset[0] == '\0')
codeset = "ASCII";
/* Default to Latin-1, for backward compatibility with Guile 1.8. */
codeset = "ISO-8859-1";
return codeset;
}