[subset-cff] Manually grow vector to avoid memset overhead

This commit is contained in:
Behdad Esfahbod 2022-05-18 11:37:24 -06:00
parent f455cc53fd
commit 71aa10a394
1 changed files with 4 additions and 6 deletions

View File

@ -110,12 +110,10 @@ struct str_encoder_t
void copy_str (const hb_ubytes_t &str)
{
unsigned int offset = buff.length;
if (unlikely (!buff.resize (offset + str.length)))
{
set_error ();
return;
}
if (unlikely (buff.length < offset + str.length))
/* Manually resize buffer since faster. */
if ((signed) (buff.length + str.length) <= buff.allocated)
buff.length += str.length;
else if (unlikely (!buff.resize (offset + str.length)))
{
set_error ();
return;