bool
hb_buffer_t::enlarge (unsigned int size)
{
- if (unlikely (in_error))
+ if (unlikely (!successful))
return false;
if (unlikely (size > max_len))
{
- in_error = true;
+ successful = false;
return false;
}
done:
if (unlikely (!new_pos || !new_info))
- in_error = true;
+ successful = false;
if (likely (new_pos))
pos = new_pos;
info = new_info;
out_info = separate_out ? (hb_glyph_info_t *) pos : info;
- if (likely (!in_error))
+ if (likely (successful))
allocated = new_allocated;
- return likely (!in_error);
+ return likely (successful);
}
bool
scratch_flags = HB_BUFFER_SCRATCH_FLAG_DEFAULT;
content_type = HB_BUFFER_CONTENT_TYPE_INVALID;
- in_error = false;
+ successful = true;
have_output = false;
have_positions = false;
void
hb_buffer_t::swap_buffers (void)
{
- if (unlikely (in_error)) return;
+ if (unlikely (!successful)) return;
assert (have_output);
have_output = false;
idx = i;
return true;
}
- if (unlikely (in_error))
+ if (unlikely (!successful))
return false;
assert (i <= out_len + (len - idx));
/* If direction is set to INVALID, guess from script */
if (props.direction == HB_DIRECTION_INVALID) {
props.direction = hb_script_get_horizontal_direction (props.script);
+ if (props.direction == HB_DIRECTION_INVALID)
+ props.direction = HB_DIRECTION_LTR;
}
/* If language is not set, use default language from locale */
HB_BUFFER_CONTENT_TYPE_INVALID,
HB_SEGMENT_PROPERTIES_DEFAULT,
- true, /* in_error */
+ false, /* successful */
true, /* have_output */
true /* have_positions */
hb_bool_t
hb_buffer_allocation_successful (hb_buffer_t *buffer)
{
- return !buffer->in_error;
+ return buffer->successful;
}
/**
* Next, if buffer direction is not set (ie. is %HB_DIRECTION_INVALID),
* it will be set to the natural horizontal direction of the
* buffer script as returned by hb_script_get_horizontal_direction().
+ * If hb_script_get_horizontal_direction() returns %HB_DIRECTION_INVALID,
+ * then %HB_DIRECTION_LTR is used.
*
* Finally, if buffer language is not set (ie. is %HB_LANGUAGE_INVALID),
* it will be set to the process's default language as returned by
if (buffer->len + (end - start) < buffer->len) /* Overflows. */
{
- buffer->in_error = true;
+ buffer->successful = false;
return;
}
unsigned int orig_len = buffer->len;
hb_buffer_set_length (buffer, buffer->len + (end - start));
- if (buffer->in_error)
+ if (unlikely (!buffer->successful))
return;
memcpy (buffer->info + orig_len, source->info + start, (end - start) * sizeof (buffer->info[0]));