Remove ASSERT_SIZE in favor of the safer DEFINE_SIZE_STATIC
diff --git a/src/hb-open-type-private.hh b/src/hb-open-type-private.hh
index aab85fd..56a8bae 100644
--- a/src/hb-open-type-private.hh
+++ b/src/hb-open-type-private.hh
@@ -96,6 +96,15 @@
static const unsigned int static_size = (size); \
static const unsigned int min_size = (size)
+/* Size signifying variable-sized array */
+#define VAR 1
+#define VAR0 (VAR+0)
+
+#define DEFINE_SIZE_VAR0(size) \
+ inline void _size_assertion (void) const \
+ { ASSERT_STATIC (sizeof (*this) == (size)); } \
+ static const unsigned int min_size = (size)
+
#define DEFINE_SIZE_VAR(size, _var_type) \
inline void _size_assertion (void) const \
{ ASSERT_STATIC (sizeof (*this) == (size) + VAR0 * sizeof (_var_type)); } \
@@ -397,8 +406,9 @@
/* What the char* converters return is NOT nul-terminated. Print using "%.4s" */
inline operator const char* (void) const { return CharP(this); }
inline operator char* (void) { return CharP(this); }
+ public:
+ DEFINE_SIZE_STATIC (4);
};
-ASSERT_SIZE (Tag, 4);
DEFINE_NULL_DATA (Tag, " ");
/* Glyph index number, same as uint16 (length = 16 bits) */
@@ -423,8 +433,9 @@
Sum += *Table++;
return Sum;
}
+ public:
+ DEFINE_SIZE_STATIC (4);
};
-ASSERT_SIZE (CheckSum, 4);
/*
@@ -442,8 +453,9 @@
USHORT major;
USHORT minor;
+ public:
+ DEFINE_SIZE_STATIC (4);
};
-ASSERT_SIZE (FixedVersion, 4);
@@ -577,6 +589,8 @@
public:
LenType len;
/*Type array[VAR];*/
+ public:
+ DEFINE_SIZE_VAR0 (sizeof (LenType));
};
/* An array with a USHORT number of elements. */