[subset] Simplify recent out-of-memory fixes
By checking return status of map->set().
diff --git a/src/hb-ot-layout-gsubgpos.hh b/src/hb-ot-layout-gsubgpos.hh
index 1e9f2f4..f820976 100644
--- a/src/hb-ot-layout-gsubgpos.hh
+++ b/src/hb-ot-layout-gsubgpos.hh
@@ -108,12 +108,12 @@
if (!done_lookups_glyph_set->get (lookup_index))
{
- hb_set_t* empty_set = hb_set_create ();
- done_lookups_glyph_set->set (lookup_index, empty_set);
- if (!done_lookups_glyph_set->get (lookup_index)) {
- hb_set_destroy (empty_set);
- return true;
- }
+ hb_set_t* empty_set = hb_set_create ();
+ if (unlikely (!done_lookups_glyph_set->set (lookup_index, empty_set)))
+ {
+ hb_set_destroy (empty_set);
+ return true;
+ }
}
done_lookups_glyph_set->get (lookup_index)->clear ();