[cff] Simplify str_encoder_t error handling
diff --git a/src/hb-subset-cff-common.hh b/src/hb-subset-cff-common.hh
index 2b7a2da..dbde64c 100644
--- a/src/hb-subset-cff-common.hh
+++ b/src/hb-subset-cff-common.hh
@@ -38,16 +38,12 @@
struct str_encoder_t
{
str_encoder_t (str_buff_t &buff_)
- : buff (buff_), error (false) {}
+ : buff (buff_) {}
void reset () { buff.reset (); }
void encode_byte (unsigned char b)
- {
- buff.push (b);
- if (unlikely (buff.in_error ()))
- set_error ();
- }
+ { buff.push (b); }
void encode_int (int v)
{
@@ -115,10 +111,8 @@
if (likely ((signed) (buff.length + str.length) <= buff.allocated))
buff.length += str.length;
else if (unlikely (!buff.resize (offset + str.length)))
- {
- set_error ();
return;
- }
+
/* Since our strings are one or two bytes typically,
* this is faster than memcpy. */
for (unsigned i = 0; i < str.length; i++)
@@ -126,13 +120,11 @@
// memcpy (buff.arrayZ + offset, &str[0], str.length);
}
- bool is_error () const { return error; }
+ bool is_error () const { return buff.in_error (); }
protected:
- void set_error () { error = true; }
str_buff_t &buff;
- bool error;
};
struct cff_sub_table_info_t {