summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/mfluadir/otfcc/lib/table/otl/subtables/chaining/common.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/mfluadir/otfcc/lib/table/otl/subtables/chaining/common.c')
-rw-r--r--Build/source/texk/web2c/mfluadir/otfcc/lib/table/otl/subtables/chaining/common.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/mfluadir/otfcc/lib/table/otl/subtables/chaining/common.c b/Build/source/texk/web2c/mfluadir/otfcc/lib/table/otl/subtables/chaining/common.c
new file mode 100644
index 00000000000..c670a1dcbca
--- /dev/null
+++ b/Build/source/texk/web2c/mfluadir/otfcc/lib/table/otl/subtables/chaining/common.c
@@ -0,0 +1,23 @@
+#include "../chaining.h"
+#include "common.h"
+static void otl_init_chaining(subtable_chaining *subtable) {
+ memset(subtable, 0, sizeof(*subtable));
+}
+static void otl_dispose_chaining(subtable_chaining *subtable) {
+ if (subtable->type) {
+ if (subtable->rules) {
+ for (tableid_t j = 0; j < subtable->rulesCount; j++) {
+ deleteRule(subtable->rules[j]);
+ }
+ FREE(subtable->rules);
+ }
+ if (subtable->bc) { ClassDef.free(subtable->bc); }
+ if (subtable->ic) { ClassDef.free(subtable->ic); }
+ if (subtable->fc) { ClassDef.free(subtable->fc); }
+ } else {
+ closeRule(&subtable->rule);
+ }
+}
+
+caryll_standardRefType(subtable_chaining, iSubtable_chaining, otl_init_chaining,
+ otl_dispose_chaining);