Simplify DEFINE_NULL_DATA
Using ::min_size.
diff --git a/src/hb-open-type-private.hh b/src/hb-open-type-private.hh
index b0daf41..c4f2709 100644
--- a/src/hb-open-type-private.hh
+++ b/src/hb-open-type-private.hh
@@ -123,8 +123,8 @@
}
/* Specializaiton for arbitrary-content arbitrary-sized Null objects. */
-#define DEFINE_NULL_DATA(Type, size, data) \
-static const char _Null##Type[size + 1] = data; /* +1 is for nul-termination in data */ \
+#define DEFINE_NULL_DATA(Type, data) \
+static const char _Null##Type[Type::min_size + 1] = data; /* +1 is for nul-termination in data */ \
template <> \
inline const Type& Null<Type> () { \
return *CastP<Type> (_Null##Type); \
@@ -397,7 +397,7 @@
inline operator char* (void) { return CharP(this); }
};
ASSERT_SIZE (Tag, 4);
-DEFINE_NULL_DATA (Tag, 4, " ");
+DEFINE_NULL_DATA (Tag, " ");
/* Glyph index number, same as uint16 (length = 16 bits) */
typedef USHORT GlyphID;
diff --git a/src/hb-ot-layout-common-private.hh b/src/hb-ot-layout-common-private.hh
index 97002cb..d73a21a 100644
--- a/src/hb-ot-layout-common-private.hh
+++ b/src/hb-ot-layout-common-private.hh
@@ -170,6 +170,8 @@
&& featureIndex.sanitize (context);
}
+ DEFINE_SIZE_STATIC (6);
+
Offset lookupOrder; /* = Null (reserved for an offset to a
* reordering table) */
USHORT reqFeatureIndex;/* Index of a feature required for this
@@ -177,8 +179,7 @@
* = 0xFFFF */
IndexArray featureIndex; /* Array of indices into the FeatureList */
};
-ASSERT_SIZE (LangSys, 6);
-DEFINE_NULL_DATA (LangSys, 6, "\0\0\xFF\xFF");
+DEFINE_NULL_DATA (LangSys, "\0\0\xFF\xFF");
struct Script
@@ -372,7 +373,7 @@
USHORT startCoverageIndex; /* Coverage Index of first GlyphID in
* range */
};
-DEFINE_NULL_DATA (CoverageRangeRecord, 6, "\000\001");
+DEFINE_NULL_DATA (CoverageRangeRecord, "\000\001");
struct CoverageFormat2
{
@@ -492,7 +493,7 @@
GlyphID end; /* Last GlyphID in the range */
USHORT classValue; /* Applied to all glyphs in the range */
};
-DEFINE_NULL_DATA (ClassRangeRecord, 6, "\000\001");
+DEFINE_NULL_DATA (ClassRangeRecord, "\000\001");
struct ClassDefFormat2
{