Simplify DEFINE_NULL_DATA

Using ::min_size.
This commit is contained in:
Behdad Esfahbod 2010-05-06 19:35:19 -04:00
parent e45d3f86f9
commit 65f46b0033
2 changed files with 8 additions and 7 deletions

View File

@ -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;

View File

@ -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
{