[iter] Accept pointers to hb_sink()
diff --git a/src/hb-iter.hh b/src/hb-iter.hh
index 465929f..b6c9e2d 100644
--- a/src/hb-iter.hh
+++ b/src/hb-iter.hh
@@ -388,6 +388,10 @@
template <typename Sink> hb_sink_t<Sink>
operator () (Sink&& s) const
{ return hb_sink_t<Sink> (s); }
+
+ template <typename Sink> hb_sink_t<Sink&>
+ operator () (Sink *s) const
+ { return hb_sink_t<Sink&> (*s); }
} hb_sink HB_UNUSED;
diff --git a/src/hb-ot-layout-gsub-table.hh b/src/hb-ot-layout-gsub-table.hh
index 57bb890..17cf174 100644
--- a/src/hb-ot-layout-gsub-table.hh
+++ b/src/hb-ot-layout-gsub-table.hh
@@ -138,7 +138,7 @@
+ hb_zip (this+coverage, substitute)
| hb_filter (*c->glyphs, hb_first)
| hb_map (hb_second)
- | hb_sink (*c->output)
+ | hb_sink (c->output)
;
}
@@ -147,7 +147,7 @@
if (unlikely (!(this+coverage).add_coverage (c->input))) return;
+ hb_zip (this+coverage, substitute)
| hb_map (hb_second)
- | hb_sink (*c->output)
+ | hb_sink (c->output)
;
}
@@ -1023,7 +1023,7 @@
+ hb_zip (this+coverage, substitute)
| hb_filter (*c->glyphs, hb_first)
| hb_map (hb_second)
- | hb_sink (*c->output)
+ | hb_sink (c->output)
;
}