summaryrefslogtreecommitdiff
path: root/intl/gettextP.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-12-22 20:10:10 +0000
committerUlrich Drepper <drepper@redhat.com>2004-12-22 20:10:10 +0000
commita334319f6530564d22e775935d9c91663623a1b4 (patch)
treeb5877475619e4c938e98757d518bb1e9cbead751 /intl/gettextP.h
parent0ecb606cb6cf65de1d9fc8a919bceb4be476c602 (diff)
downloadglibc-a334319f6530564d22e775935d9c91663623a1b4.tar.gz
(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.
Diffstat (limited to 'intl/gettextP.h')
-rw-r--r--intl/gettextP.h45
1 files changed, 19 insertions, 26 deletions
diff --git a/intl/gettextP.h b/intl/gettextP.h
index f18535a5b3..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, 2004-2005 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.
@@ -88,26 +88,6 @@ struct sysdep_string_desc
const char *pointer;
};
-/* Cache of translated strings after charset conversion.
- Note: The strings are converted to the target encoding only on an as-needed
- basis. */
-struct converted_domain
-{
- /* The target encoding name. */
- const char *encoding;
- /* The descriptor for conversion from the message catalog's encoding to
- this target encoding. */
-#ifdef _LIBC
- __gconv_t conv;
-#else
-# if HAVE_ICONV
- iconv_t conv;
-# endif
-#endif
- /* The table of translated strings after charset conversion. */
- char **conv_tab;
-};
-
/* The representation of an opened message catalog. */
struct loaded_domain
{
@@ -143,9 +123,15 @@ struct loaded_domain
/* 1 if the hash table uses a different endianness than this machine. */
int must_swap_hash_tab;
- /* Cache of charset conversions of the translated strings. */
- struct converted_domain *conversions;
- size_t nconversions;
+ int codeset_cntr;
+#ifdef _LIBC
+ __gconv_t conv;
+#else
+# if HAVE_ICONV
+ iconv_t conv;
+# endif
+#endif
+ char **conv_tab;
struct expression *plural;
unsigned long int nplurals;
@@ -165,6 +151,7 @@ struct binding
{
struct binding *next;
char *dirname;
+ int codeset_cntr; /* Incremented each time codeset changes. */
char *codeset;
char domainname[ZERO];
};
@@ -186,10 +173,16 @@ struct loaded_l10nfile *_nl_find_domain PARAMS ((const char *__dirname,
void _nl_load_domain PARAMS ((struct loaded_l10nfile *__domain,
struct binding *__domainbinding))
internal_function;
+const char *_nl_init_domain_conv PARAMS ((struct loaded_l10nfile *__domain_file,
+ struct loaded_domain *__domain,
+ struct binding *__domainbinding))
+ internal_function;
+void _nl_free_domain_conv PARAMS ((struct loaded_domain *__domain))
+ internal_function;
char *_nl_find_msg PARAMS ((struct loaded_l10nfile *domain_file,
- struct binding *domainbinding, const char *msgid,
- int convert, size_t *lengthp))
+ struct binding *domainbinding,
+ const char *msgid, size_t *lengthp))
internal_function;
#ifdef _LIBC