mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 19:00:07 +00:00
Update.
2000-04-06 Ulrich Drepper <drepper@redhat.com> * locale/programs/charmap.c (parse_charmap): Recognize <Uxxxx> values as character names. * locale/programs/ld-ctype.c (get_character): Handle missing repertoire map correctly.
This commit is contained in:
parent
a1303dc8dc
commit
723faa38f9
@ -1,3 +1,11 @@
|
||||
2000-04-06 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* locale/programs/charmap.c (parse_charmap): Recognize <Uxxxx>
|
||||
values as character names.
|
||||
|
||||
* locale/programs/ld-ctype.c (get_character): Handle missing
|
||||
repertoire map correctly.
|
||||
|
||||
2000-04-05 Cristian Gafton <gafton@redhat.com>
|
||||
|
||||
* ctype/ctype.h (__isctype_l): Define even if not __OPTIMIZE__
|
||||
|
@ -441,7 +441,7 @@ character sets with locking states are not supported"));
|
||||
continue;
|
||||
}
|
||||
|
||||
if (nowtok != tok_bsymbol)
|
||||
if (nowtok != tok_bsymbol && nowtok != tok_ucs4)
|
||||
{
|
||||
lr_error (cmfile, _("syntax error in %s definition: %s"),
|
||||
"CHARMAP", _("no symbolic name given"));
|
||||
@ -455,9 +455,17 @@ character sets with locking states are not supported"));
|
||||
if (from_name != NULL)
|
||||
obstack_free (&result->mem_pool, from_name);
|
||||
|
||||
from_name = (char *) obstack_copy0 (&result->mem_pool,
|
||||
now->val.str.startmb,
|
||||
now->val.str.lenmb);
|
||||
if (nowtok == tok_bsymbol)
|
||||
from_name = (char *) obstack_copy0 (&result->mem_pool,
|
||||
now->val.str.startmb,
|
||||
now->val.str.lenmb);
|
||||
else
|
||||
{
|
||||
obstack_printf (&result->mem_pool, "<%08X>",
|
||||
cmfile->token.val.ucs4);
|
||||
obstack_1grow (&result->mem_pool, '\0');
|
||||
from_name = (char *) obstack_finish (&result->mem_pool);
|
||||
}
|
||||
to_name = NULL;
|
||||
|
||||
state = 3;
|
||||
@ -506,7 +514,7 @@ character sets with locking states are not supported"));
|
||||
continue;
|
||||
|
||||
case 4:
|
||||
if (nowtok != tok_bsymbol)
|
||||
if (nowtok != tok_bsymbol && nowtok != tok_ucs4)
|
||||
{
|
||||
lr_error (cmfile, _("syntax error in %s definition: %s"),
|
||||
"CHARMAP",
|
||||
@ -517,9 +525,17 @@ character sets with locking states are not supported"));
|
||||
}
|
||||
|
||||
/* Copy the to-name in a safe place. */
|
||||
to_name = (char *) obstack_copy0 (&result->mem_pool,
|
||||
cmfile->token.val.str.startmb,
|
||||
cmfile->token.val.str.lenmb);
|
||||
if (nowtok == tok_bsymbol)
|
||||
to_name = (char *) obstack_copy0 (&result->mem_pool,
|
||||
cmfile->token.val.str.startmb,
|
||||
cmfile->token.val.str.lenmb);
|
||||
else
|
||||
{
|
||||
obstack_printf (&result->mem_pool, "<%08X>",
|
||||
cmfile->token.val.ucs4);
|
||||
obstack_1grow (&result->mem_pool, '\0');
|
||||
to_name = (char *) obstack_finish (&result->mem_pool);
|
||||
}
|
||||
|
||||
state = 5;
|
||||
continue;
|
||||
|
@ -1192,15 +1192,18 @@ get_character (struct token *now, struct charmap_t *charmap,
|
||||
|
||||
if (*seqp == NULL)
|
||||
{
|
||||
/* Insert a negative entry. */
|
||||
static const struct charseq negative
|
||||
= { .ucs4 = ILLEGAL_CHAR_VALUE };
|
||||
uint32_t *newp = obstack_alloc (&repertoire->mem_pool,
|
||||
sizeof (uint32_t));
|
||||
*newp = now->val.ucs4;
|
||||
if (repertoire != NULL)
|
||||
{
|
||||
/* Insert a negative entry. */
|
||||
static const struct charseq negative
|
||||
= { .ucs4 = ILLEGAL_CHAR_VALUE };
|
||||
uint32_t *newp = obstack_alloc (&repertoire->mem_pool,
|
||||
sizeof (uint32_t));
|
||||
*newp = now->val.ucs4;
|
||||
|
||||
insert_entry (&repertoire->seq_table, newp, sizeof (uint32_t),
|
||||
(void *) &negative);
|
||||
insert_entry (&repertoire->seq_table, newp,
|
||||
sizeof (uint32_t), (void *) &negative);
|
||||
}
|
||||
}
|
||||
else
|
||||
(*seqp)->ucs4 = now->val.ucs4;
|
||||
|
Loading…
Reference in New Issue
Block a user