diff --git a/ChangeLog b/ChangeLog index 9d2281e61..a3e70a305 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2004-04-23 Matthias Clasen + * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases): + Reinstate LIBCHARSET_ALIAS_DIR support which got lost at some + point. (#139134, Piotr Klaban) + * glib/gconvert.c (open_converter): Don't call g_strerror() here, since it can lead to infinite recursion. (#139133, Piotr Klaban) diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 9d2281e61..a3e70a305 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,5 +1,9 @@ 2004-04-23 Matthias Clasen + * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases): + Reinstate LIBCHARSET_ALIAS_DIR support which got lost at some + point. (#139134, Piotr Klaban) + * glib/gconvert.c (open_converter): Don't call g_strerror() here, since it can lead to infinite recursion. (#139133, Piotr Klaban) diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index 9d2281e61..a3e70a305 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,5 +1,9 @@ 2004-04-23 Matthias Clasen + * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases): + Reinstate LIBCHARSET_ALIAS_DIR support which got lost at some + point. (#139134, Piotr Klaban) + * glib/gconvert.c (open_converter): Don't call g_strerror() here, since it can lead to infinite recursion. (#139133, Piotr Klaban) diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 9d2281e61..a3e70a305 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,5 +1,9 @@ 2004-04-23 Matthias Clasen + * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases): + Reinstate LIBCHARSET_ALIAS_DIR support which got lost at some + point. (#139134, Piotr Klaban) + * glib/gconvert.c (open_converter): Don't call g_strerror() here, since it can lead to infinite recursion. (#139133, Piotr Klaban) diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 9d2281e61..a3e70a305 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,5 +1,9 @@ 2004-04-23 Matthias Clasen + * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases): + Reinstate LIBCHARSET_ALIAS_DIR support which got lost at some + point. (#139134, Piotr Klaban) + * glib/gconvert.c (open_converter): Don't call g_strerror() here, since it can lead to infinite recursion. (#139133, Piotr Klaban) diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 9d2281e61..a3e70a305 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,5 +1,9 @@ 2004-04-23 Matthias Clasen + * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases): + Reinstate LIBCHARSET_ALIAS_DIR support which got lost at some + point. (#139134, Piotr Klaban) + * glib/gconvert.c (open_converter): Don't call g_strerror() here, since it can lead to infinite recursion. (#139133, Piotr Klaban) diff --git a/docs/reference/ChangeLog b/docs/reference/ChangeLog index 4dd14acc4..322dce736 100644 --- a/docs/reference/ChangeLog +++ b/docs/reference/ChangeLog @@ -1,3 +1,7 @@ +2004-04-23 Matthias Clasen + + * glib/running.sgml: Document LIBCHARSET_ALIAS_DIR. + 2004-04-15 Matthias Clasen * glib/tmpl/types.sgml: Correct the description of the diff --git a/docs/reference/glib/running.sgml b/docs/reference/glib/running.sgml index ee2793e8b..5b250b0e5 100644 --- a/docs/reference/glib/running.sgml +++ b/docs/reference/glib/running.sgml @@ -86,6 +86,17 @@ variables like LANG, PATH or HOME. + + <envar>LIBCHARSET_ALIAS_DIR</envar> + + + Allows to specify a nonstandard location for the + charset.aliases file that is used by the + character set conversion routines. The default location is the + libdir specified at compilation time. + + + diff --git a/glib/libcharset/localcharset.c b/glib/libcharset/localcharset.c index 4c8e1b920..2061a88b2 100644 --- a/glib/libcharset/localcharset.c +++ b/glib/libcharset/localcharset.c @@ -119,10 +119,13 @@ _g_locale_get_charset_aliases () { #if !defined WIN32 FILE *fp; - const char *dir = LIBDIR; + const char *dir = getenv ("LIBCHARSET_ALIAS_DIR"); const char *base = "charset.alias"; char *file_name; + if (dir == NULL) + dir = LIBDIR; + /* Concatenate dir and base into freshly allocated file_name. */ { size_t dir_len = strlen (dir);