Avoid assertion violations in 'bidi_resolve_brackets'
* src/bidi.c (bidi_resolve_brackets): Move assertion to where it really matters. (Bug#54295)
This commit is contained in:
parent
80736aef90
commit
d184773c2e
1 changed files with 1 additions and 2 deletions
|
@ -2921,13 +2921,13 @@ bidi_resolve_brackets (struct bidi_it *bidi_it)
|
||||||
int embedding_level = bidi_it->level_stack[bidi_it->stack_idx].level;
|
int embedding_level = bidi_it->level_stack[bidi_it->stack_idx].level;
|
||||||
bidi_type_t embedding_type = (embedding_level & 1) ? STRONG_R : STRONG_L;
|
bidi_type_t embedding_type = (embedding_level & 1) ? STRONG_R : STRONG_L;
|
||||||
|
|
||||||
eassert (bidi_it->prev_for_neutral.type != UNKNOWN_BT);
|
|
||||||
eassert (bidi_it->bracket_pairing_pos > bidi_it->charpos);
|
eassert (bidi_it->bracket_pairing_pos > bidi_it->charpos);
|
||||||
if (bidi_it->bracket_enclosed_type == embedding_type) /* N0b */
|
if (bidi_it->bracket_enclosed_type == embedding_type) /* N0b */
|
||||||
type = embedding_type;
|
type = embedding_type;
|
||||||
else if (bidi_it->bracket_enclosed_type == STRONG_L /* N0c, N0d */
|
else if (bidi_it->bracket_enclosed_type == STRONG_L /* N0c, N0d */
|
||||||
|| bidi_it->bracket_enclosed_type == STRONG_R)
|
|| bidi_it->bracket_enclosed_type == STRONG_R)
|
||||||
{
|
{
|
||||||
|
eassert (bidi_it->prev_for_neutral.type != UNKNOWN_BT);
|
||||||
switch (bidi_it->prev_for_neutral.type)
|
switch (bidi_it->prev_for_neutral.type)
|
||||||
{
|
{
|
||||||
case STRONG_R:
|
case STRONG_R:
|
||||||
|
@ -2946,7 +2946,6 @@ bidi_resolve_brackets (struct bidi_it *bidi_it)
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
/* N0d: Do not set the type for that bracket pair. */
|
/* N0d: Do not set the type for that bracket pair. */
|
||||||
/* (Actuallly, this shouldn't happen.) */
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue