mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Update.
2000-07-31 Bruno Haible <haible@clisp.cons.org> * intl/plural.y: Include config.h. Needed to define 'inline' away for C compilers that don't support it. (yylex): Don't use gcc specific case range syntax. * intl/loadmsgcat.c (INIT_GERMANIC_PLURAL): New macro, for old compilers. 2000-10-12 Bruno Haible <haible@clisp.cons.org> * intl/finddomain.c: Remove unneeded includes. 2000-10-12 Bruno Haible <haible@clisp.cons.org> * intl/localealias.c (memcpy): Return first argument, just like the real memcpy function does. * intl/bindtextdom.c (memcpy): Likewise. * intl/finddomain.c (memcpy): Likewise. * intl/l10nflist.c (memcpy): Likewise. * intl/textdomain.c (memcpy): Likewise. From Paul Eggert <eggert@twinsun.com>.
This commit is contained in:
@ -85,8 +85,11 @@
|
||||
cached by one of GCC's features. */
|
||||
int _nl_msg_cat_cntr;
|
||||
|
||||
#if defined __GNUC__ \
|
||||
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)
|
||||
|
||||
/* These structs are the constant expression for the germanic plural
|
||||
form determination. */
|
||||
form determination. It represents the expression "n != 1". */
|
||||
static const struct expression plvar =
|
||||
{
|
||||
.operation = var,
|
||||
@ -111,6 +114,37 @@ static struct expression germanic_plural =
|
||||
}
|
||||
};
|
||||
|
||||
#define INIT_GERMANIC_PLURAL()
|
||||
|
||||
#else
|
||||
|
||||
/* For compilers without support for ISO C 99 struct/union initializers:
|
||||
Initialization at run-time. */
|
||||
|
||||
static struct expression plvar;
|
||||
static struct expression plone;
|
||||
static struct expression germanic_plural;
|
||||
|
||||
static void
|
||||
init_germanic_plural ()
|
||||
{
|
||||
if (plone.val.num == 0)
|
||||
{
|
||||
plvar.operation = var;
|
||||
|
||||
plone.operation = num;
|
||||
plone.val.num = 1;
|
||||
|
||||
germanic_plural.operation = not_equal;
|
||||
germanic_plural.val.args2.left = &plvar;
|
||||
germanic_plural.val.args2.right = &plone;
|
||||
}
|
||||
}
|
||||
|
||||
#define INIT_GERMANIC_PLURAL() init_germanic_plural ()
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/* Load the message catalogs specified by FILENAME. If it is no valid
|
||||
message catalog do nothing. */
|
||||
@ -370,6 +404,7 @@ _nl_load_domain (domain_file)
|
||||
for `one', the plural form otherwise. Yes, this is also what
|
||||
English is using since English is a Germanic language. */
|
||||
no_plural:
|
||||
INIT_GERMANIC_PLURAL ();
|
||||
domain->plural = &germanic_plural;
|
||||
domain->nplurals = 2;
|
||||
}
|
||||
|
Reference in New Issue
Block a user