提交 65f46b00 编写于 作者: B Behdad Esfahbod

Simplify DEFINE_NULL_DATA

Using ::min_size.
上级 e45d3f86
......@@ -123,8 +123,8 @@ static inline const Type& Null () {
}
/* 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 @@ struct Tag : ULONG
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;
......
......@@ -170,6 +170,8 @@ struct LangSys
&& 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 @@ struct LangSys
* = 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 @@ struct CoverageRangeRecord
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 @@ struct ClassRangeRecord
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
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册