Simplify Extension offset now that our int types have no alignment

This commit is contained in:
Behdad Esfahbod 2010-04-22 00:58:49 -04:00
parent 19828ad42d
commit 81f2af40f9
1 changed files with 3 additions and 6 deletions

View File

@ -835,10 +835,9 @@ struct ExtensionFormat1
protected:
inline unsigned int get_type (void) const { return extensionLookupType; }
inline unsigned int get_offset (void) const { return (extensionOffset[0] << 16) + extensionOffset[1]; }
inline const LookupSubTable& get_subtable (void) const
{
unsigned int offset = get_offset ();
unsigned int offset = extensionOffset;
if (HB_UNLIKELY (!offset)) return Null(LookupSubTable);
return CONST_CAST (LookupSubTable, *this, offset);
}
@ -853,10 +852,8 @@ struct ExtensionFormat1
USHORT extensionLookupType; /* Lookup type of subtable referenced
* by ExtensionOffset (i.e. the
* extension subtable). */
USHORT extensionOffset[2]; /* Offset to the extension subtable,
* of lookup type subtable.
* Defined as two shorts to avoid
* alignment requirements. */
ULONG extensionOffset; /* Offset to the extension subtable,
* of lookup type subtable. */
};
ASSERT_SIZE (ExtensionFormat1, 8);