[skippy-iter] Fix two logic errors
First, a signed underflow.
Second, a wrong condition.
Both were introduced in 42681bdb55
This commit is contained in:
parent
3b43096ef3
commit
0c70bc7f32
|
@ -537,10 +537,10 @@ struct hb_ot_apply_context_t :
|
|||
assert (num_items > 0);
|
||||
/* The alternate condition below is faster at string boundaries,
|
||||
* but produces subpar "unsafe-to-concat" values. */
|
||||
unsigned stop = end - num_items;
|
||||
signed stop = (signed) end - (signed) num_items;
|
||||
if (c->buffer->flags & HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT)
|
||||
stop = end - 1;
|
||||
while (idx < stop)
|
||||
stop = (signed) end - 1;
|
||||
while ((signed) idx < stop)
|
||||
{
|
||||
idx++;
|
||||
hb_glyph_info_t &info = c->buffer->info[idx];
|
||||
|
@ -575,7 +575,7 @@ struct hb_ot_apply_context_t :
|
|||
assert (num_items > 0);
|
||||
/* The alternate condition below is faster at string boundaries,
|
||||
* but produces subpar "unsafe-to-concat" values. */
|
||||
unsigned stop = 1 - num_items;
|
||||
unsigned stop = num_items - 1;
|
||||
if (c->buffer->flags & HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT)
|
||||
stop = 1 - 1;
|
||||
while (idx > stop)
|
||||
|
|
Loading…
Reference in New Issue