summaryrefslogtreecommitdiff
path: root/intl
diff options
context:
space:
mode:
Diffstat (limited to 'intl')
-rw-r--r--intl/finddomain.c8
-rw-r--r--intl/gettextP.h7
-rw-r--r--intl/loadmsgcat.c2
3 files changed, 11 insertions, 6 deletions
diff --git a/intl/finddomain.c b/intl/finddomain.c
index 1031e4d5b1..6988d9efc0 100644
--- a/intl/finddomain.c
+++ b/intl/finddomain.c
@@ -1,5 +1,6 @@
/* Handle list of needed message catalogs
- Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1995-1999, 2000, 2001, 2002, 2004
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Ulrich Drepper <drepper@gnu.org>, 1995.
@@ -168,7 +169,10 @@ _nl_find_domain (dirname, locale, domainname, domainbinding)
#ifdef _LIBC
-libc_freeres_fn (free_mem)
+/* This is called from iconv/gconv_db.c's free_mem, as locales must
+ be freed before freeing gconv steps arrays. */
+void __libc_freeres_fn_section
+_nl_finddomain_subfreeres ()
{
struct loaded_l10nfile *runp = _nl_loaded_domains;
diff --git a/intl/gettextP.h b/intl/gettextP.h
index 69a95cabc7..46b51e1008 100644
--- a/intl/gettextP.h
+++ b/intl/gettextP.h
@@ -1,5 +1,5 @@
/* Header describing internals of libintl library.
- Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1995-1999, 2000, 2001, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Ulrich Drepper <drepper@cygnus.com>, 1995.
@@ -173,8 +173,6 @@ struct loaded_l10nfile *_nl_find_domain PARAMS ((const char *__dirname,
void _nl_load_domain PARAMS ((struct loaded_l10nfile *__domain,
struct binding *__domainbinding))
internal_function;
-void _nl_unload_domain PARAMS ((struct loaded_domain *__domain))
- internal_function;
const char *_nl_init_domain_conv PARAMS ((struct loaded_l10nfile *__domain_file,
struct loaded_domain *__domain,
struct binding *__domainbinding))
@@ -210,6 +208,9 @@ extern char *__bindtextdomain PARAMS ((const char *__domainname,
const char *__dirname));
extern char *__bind_textdomain_codeset PARAMS ((const char *__domainname,
const char *__codeset));
+extern void _nl_finddomain_subfreeres PARAMS ((void)) attribute_hidden;
+extern void _nl_unload_domain PARAMS ((struct loaded_domain *__domain))
+ internal_function attribute_hidden;
#else
extern char *libintl_gettext PARAMS ((const char *__msgid));
extern char *libintl_dgettext PARAMS ((const char *__domainname,
diff --git a/intl/loadmsgcat.c b/intl/loadmsgcat.c
index a9c257c145..569ace2105 100644
--- a/intl/loadmsgcat.c
+++ b/intl/loadmsgcat.c
@@ -1387,7 +1387,7 @@ _nl_load_domain (domain_file, domainbinding)
#ifdef _LIBC
void
-internal_function
+internal_function __libc_freeres_fn_section
_nl_unload_domain (domain)
struct loaded_domain *domain;
{