diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-01-05 06:43:17 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-01-05 06:43:17 +0000 |
commit | f8f900ecb9096ec47f5b7bb7626e29223c69061a (patch) | |
tree | db49f68f1941a3495ba55df08f0fc5fa63ca7a6a /intl/loadmsgcat.c | |
parent | eda6c725e7a3d6f5d78d5ae171d395cfd39b44bc (diff) | |
download | glibc-f8f900ecb9096ec47f5b7bb7626e29223c69061a.zip glibc-f8f900ecb9096ec47f5b7bb7626e29223c69061a.tar.gz glibc-f8f900ecb9096ec47f5b7bb7626e29223c69061a.tar.bz2 |
Update
2001-01-04 H.J. Lu <hjl@gnu.org>
* elf/dl-support.c (DL_FIND_AUXV): New. Defined if not defined.
(_dl_clktck): Declared.
(non_dynamic_init): Take 3 arguments.
Set _dl_pagesize, _dl_platform and _dl_clktck from AUX.
2001-01-01 Bruno Haible <haible@clisp.cons.org>
Finish implementation of plural form handling.
* intl/dcigettext.c (known_translation_t): Rename 'domain' field to
'domainname'. Remove 'plindex' field. Add 'domain' and
'translation_length' fields.
(transcmp): Don't compare 'plindex' fields.
(plural_lookup): New function.
(DCIGETTEXT): Change cache handing in the plural case. Don't call
plural_eval before the translation and its catalog file have been
found. Remove plindex from cache key. Add 'translation_length' and
'domain' to cache result.
(_nl_find_msg): Remove index argument, return length of translation
to the caller instead. Weaken comparison of string lengths, to account
for plural entries. Call iconv() on the entire result string, not
only on the portion needed so far.
* intl/loadinfo.h (_nl_find_msg): Remove index argument, add lengthp
argument.
* intl/loadmsgcat.c (_nl_load_domain): Adapt to _nl_find_msg change.
Diffstat (limited to 'intl/loadmsgcat.c')
-rw-r--r-- | intl/loadmsgcat.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/intl/loadmsgcat.c b/intl/loadmsgcat.c index 4e792d2..40d1ce6 100644 --- a/intl/loadmsgcat.c +++ b/intl/loadmsgcat.c @@ -1,5 +1,5 @@ /* Load needed message catalogs. - Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as @@ -107,14 +107,15 @@ static struct expression germanic_plural = .operation = not_equal, .val = { - .args2 = { + .args2 = + { .left = (struct expression *) &plvar, .right = (struct expression *) &plone } } }; -#define INIT_GERMANIC_PLURAL() +# define INIT_GERMANIC_PLURAL() #else @@ -141,7 +142,7 @@ init_germanic_plural () } } -#define INIT_GERMANIC_PLURAL() init_germanic_plural () +# define INIT_GERMANIC_PLURAL() init_germanic_plural () #endif @@ -160,6 +161,7 @@ _nl_load_domain (domain_file) int use_mmap = 0; struct loaded_domain *domain; char *nullentry; + size_t nullentrylen; domain_file->decided = 1; domain_file->data = NULL; @@ -297,7 +299,7 @@ _nl_load_domain (domain_file) # endif #endif domain->conv_tab = NULL; - nullentry = _nl_find_msg (domain_file, "", 0); + nullentry = _nl_find_msg (domain_file, "", &nullentrylen); if (nullentry != NULL) { #if defined _LIBC || HAVE_ICONV |