Update.
1999-11-21 Ulrich Drepper <drepper@cygnus.com> * locale/programs/ld-ctype.c (ctype_read): Correctly implement 14652-style definition of new maps and classes.
This commit is contained in:
parent
a223631664
commit
87372aa9cf
@ -1,3 +1,8 @@
|
|||||||
|
1999-11-21 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
|
* locale/programs/ld-ctype.c (ctype_read): Correctly implement
|
||||||
|
14652-style definition of new maps and classes.
|
||||||
|
|
||||||
1999-11-20 Ulrich Drepper <drepper@cygnus.com>
|
1999-11-20 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
* locale/programs/ld-monetary.c (monetary_finish): Don't print
|
* locale/programs/ld-monetary.c (monetary_finish): Don't print
|
||||||
|
@ -1764,7 +1764,7 @@ ctype_read (struct linereader *ldfile, struct localedef_t *result,
|
|||||||
now = lr_token (ldfile, charmap, NULL);
|
now = lr_token (ldfile, charmap, NULL);
|
||||||
if (now->tok == tok_ident || now->tok == tok_string)
|
if (now->tok == tok_ident || now->tok == tok_string)
|
||||||
{
|
{
|
||||||
/* Must be one of the predefined class names. */
|
/* Must can be one of the predefined class names. */
|
||||||
for (cnt = 0; cnt < ctype->nr_charclass; ++cnt)
|
for (cnt = 0; cnt < ctype->nr_charclass; ++cnt)
|
||||||
if (strcmp (ctype->classnames[cnt], now->val.str.startmb) == 0)
|
if (strcmp (ctype->classnames[cnt], now->val.str.startmb) == 0)
|
||||||
break;
|
break;
|
||||||
@ -1783,13 +1783,10 @@ ctype_read (struct linereader *ldfile, struct localedef_t *result,
|
|||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
lr_error (ldfile, _("\
|
/* OK, it's a new class. */
|
||||||
unknown character class `%s' in category `LC_CTYPE'"),
|
ctype_class_new (ldfile, ctype, now->val.str.startmb);
|
||||||
now->val.str.startmb);
|
|
||||||
free (now->val.str.startmb);
|
|
||||||
|
|
||||||
lr_ignore_rest (ldfile, 0);
|
class_bit = _ISwbit (ctype->nr_charclass - 1);
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -2073,15 +2070,11 @@ with character code range values one must use the absolute ellipsis `...'"));
|
|||||||
if (strcmp (now->val.str.startmb, ctype->mapnames[cnt]) == 0)
|
if (strcmp (now->val.str.startmb, ctype->mapnames[cnt]) == 0)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (cnt < ctype->map_collection_nr)
|
if (cnt >= ctype->map_collection_nr)
|
||||||
mapidx = cnt;
|
/* OK, it's a new map. */
|
||||||
else
|
ctype_map_new (ldfile, ctype, now->val.str.startmb, charmap);
|
||||||
{
|
|
||||||
lr_error (ldfile, _("unknown map `%s'"),
|
mapidx = cnt;
|
||||||
now->val.str.startmb);
|
|
||||||
lr_ignore_rest (ldfile, 0);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (now->tok < tok_toupper || now->tok > tok_tolower)
|
else if (now->tok < tok_toupper || now->tok > tok_tolower)
|
||||||
goto err_label;
|
goto err_label;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user