--- ./pango/glyphstring.c.dist 2009-11-09 13:25:48.262881320 +0000 +++ ./pango/glyphstring.c 2009-11-09 13:29:22.078136200 +0000 @@ -347,7 +347,7 @@ pango_glyph_string_get_logical_widths (P NULL}}; PangoGlyphItem glyph_item = {&item, glyphs}; - return pango_glyph_item_get_logical_widths (&glyph_item, text, logical_widths); + pango_glyph_item_get_logical_widths (&glyph_item, text, logical_widths); } /* The initial implementation here is script independent, --- ./pango/opentype/hb-common.h.dist 2009-11-09 11:49:39.604810880 +0000 +++ ./pango/opentype/hb-common.h 2009-11-09 12:27:40.532921080 +0000 @@ -27,14 +27,32 @@ #ifndef HB_COMMON_H #define HB_COMMON_H -#include +# ifndef __sgi +# ifdef HAVE_STDINT_H +# include +# else +# ifdef HAVE_INTTYPES_H +# include +# else +# ifdef HAVE_SYS_TYPES_H +# include +# endif +# endif +# endif +# endif # ifdef __cplusplus # define HB_BEGIN_DECLS extern "C" { # define HB_END_DECLS } +# ifdef __sgi +# include +# endif # else /* !__cplusplus */ # define HB_BEGIN_DECLS # define HB_END_DECLS +# ifdef __sgi +# include +# endif # endif /* !__cplusplus */ typedef int hb_bool_t; --- ./pango/opentype/hb-open-type-private.hh.dist 2009-11-09 12:28:32.776820080 +0000 +++ ./pango/opentype/hb-open-type-private.hh 2009-11-09 13:53:46.966206760 +0000 @@ -556,7 +556,7 @@ struct GenericArrayOf } LenType len; - Type array[]; + Type *array; }; /* An array with a USHORT number of elements. */ @@ -629,7 +629,7 @@ struct HeadlessArrayOf } USHORT len; - Type array[]; + Type *array; }; --- ./pango/opentype/hb-open-file-private.hh.dist 2009-11-09 12:48:30.510827400 +0000 +++ ./pango/opentype/hb-open-file-private.hh 2009-11-09 13:52:27.808865000 +0000 @@ -122,7 +122,7 @@ typedef struct OffsetTable USHORT searchRange; /* (Maximum power of 2 <= numTables) x 16 */ USHORT entrySelector; /* Log2(maximum power of 2 <= numTables). */ USHORT rangeShift; /* NumTables x 16-searchRange. */ - TableDirectory tableDir[]; /* TableDirectory entries. numTables items */ + TableDirectory *tableDir; /* TableDirectory entries. numTables items */ } OpenTypeFontFace; ASSERT_SIZE (OffsetTable, 12); --- ./pango/opentype/hb-ot-layout-gdef-private.hh.dist 2009-11-09 13:22:37.495829960 +0000 +++ ./pango/opentype/hb-ot-layout-gdef-private.hh 2009-11-09 13:56:56.878145520 +0000 @@ -177,9 +177,9 @@ struct CaretValue private: union { USHORT format; /* Format identifier */ - CaretValueFormat1 format1[]; - CaretValueFormat2 format2[]; - CaretValueFormat3 format3[]; + CaretValueFormat1 *format1; + CaretValueFormat2 *format2; + CaretValueFormat3 *format3; } u; }; ASSERT_SIZE (CaretValue, 2); @@ -286,7 +286,7 @@ struct MarkGlyphSets private: union { USHORT format; /* Format identifier */ - MarkGlyphSetsFormat1 format1[]; + MarkGlyphSetsFormat1 *format1; } u; }; ASSERT_SIZE (MarkGlyphSets, 2); @@ -364,7 +364,7 @@ struct GDEF * mark attachment type--from beginning * of GDEF header (may be Null) */ OffsetTo - markGlyphSetsDef[0]; /* Offset to the table of mark set + *markGlyphSetsDef; /* Offset to the table of mark set * definitions--from beginning of GDEF * header (may be NULL). Introduced * in version 00010002. */ --- ./pango/opentype/hb-private.h.dist 2009-11-09 13:07:54.722931160 +0000 +++ ./pango/opentype/hb-private.h 2009-11-09 13:08:36.965203200 +0000 @@ -124,11 +124,17 @@ typedef GStaticMutex hb_mutex_t; #define HB_STMT_START do #define HB_STMT_END while (0) -#define _ASSERT_STATIC1(_line, _cond) typedef int _static_assert_on_line_##_line##_failed[(_cond)?1:-1] -#define _ASSERT_STATIC0(_line, _cond) _ASSERT_STATIC1 (_line, (_cond)) -#define ASSERT_STATIC(_cond) _ASSERT_STATIC0 (__LINE__, (_cond)) +#ifndef __sgi +# define _ASSERT_STATIC1(_line, _cond) typedef int _static_assert_on_line_##_line##_failed[(_cond)?1:-1] +# define _ASSERT_STATIC0(_line, _cond) _ASSERT_STATIC1 (_line, (_cond)) +# define ASSERT_STATIC(_cond) _ASSERT_STATIC0 (__LINE__, (_cond)) + +# define ASSERT_SIZE(_type, _size) ASSERT_STATIC (sizeof (_type) == (_size)) +#else /* __sgi */ +# define ASSERT_STATIC(_cond) -#define ASSERT_SIZE(_type, _size) ASSERT_STATIC (sizeof (_type) == (_size)) +# define ASSERT_SIZE(_type, _size) +#endif #if defined(__GNUC__) && (__GNUC__ > 2) && defined(__OPTIMIZE__) --- ./pango/opentype/hb-ot-layout-gpos-private.hh.dist 2009-11-09 13:10:28.406098440 +0000 +++ ./pango/opentype/hb-ot-layout-gpos-private.hh 2009-11-09 13:59:22.011810880 +0000 @@ -35,7 +35,7 @@ typedef SHORT Value; -typedef Value ValueRecord[0]; +typedef Value *ValueRecord; ASSERT_SIZE (ValueRecord, 0); struct ValueFormat : USHORT @@ -259,9 +259,9 @@ struct Anchor private: union { USHORT format; /* Format identifier */ - AnchorFormat1 format1[]; - AnchorFormat2 format2[]; - AnchorFormat3 format3[]; + AnchorFormat1 *format1; + AnchorFormat2 *format2; + AnchorFormat3 *format3; } u; }; ASSERT_SIZE (Anchor, 2); @@ -287,7 +287,7 @@ struct AnchorMatrix USHORT rows; /* Number of rows */ private: OffsetTo - matrix[]; /* Matrix of offsets to Anchor tables-- + *matrix; /* Matrix of offsets to Anchor tables-- * from beginning of AnchorMatrix table */ }; ASSERT_SIZE (AnchorMatrix, 2); @@ -461,8 +461,8 @@ struct SinglePos private: union { USHORT format; /* Format identifier */ - SinglePosFormat1 format1[]; - SinglePosFormat2 format2[]; + SinglePosFormat1 *format1; + SinglePosFormat2 *format2; } u; }; ASSERT_SIZE (SinglePos, 2); @@ -495,7 +495,7 @@ struct PairSet private: USHORT len; /* Number of PairValueRecords */ PairValueRecord - array[]; /* Array of PairValueRecords--ordered + *array; /* Array of PairValueRecords--ordered * by GlyphID of the second glyph */ }; ASSERT_SIZE (PairSet, 2); @@ -684,8 +684,8 @@ struct PairPos private: union { USHORT format; /* Format identifier */ - PairPosFormat1 format1[]; - PairPosFormat2 format2[]; + PairPosFormat1 *format1; + PairPosFormat2 *format2; } u; }; ASSERT_SIZE (PairPos, 2); @@ -931,7 +931,7 @@ struct CursivePos private: union { USHORT format; /* Format identifier */ - CursivePosFormat1 format1[]; + CursivePosFormat1 *format1; } u; }; ASSERT_SIZE (CursivePos, 2); @@ -1027,7 +1027,7 @@ struct MarkBasePos private: union { USHORT format; /* Format identifier */ - MarkBasePosFormat1 format1[]; + MarkBasePosFormat1 *format1; } u; }; ASSERT_SIZE (MarkBasePos, 2); @@ -1152,7 +1152,7 @@ struct MarkLigPos private: union { USHORT format; /* Format identifier */ - MarkLigPosFormat1 format1[]; + MarkLigPosFormat1 *format1; } u; }; ASSERT_SIZE (MarkLigPos, 2); @@ -1253,7 +1253,7 @@ struct MarkMarkPos private: union { USHORT format; /* Format identifier */ - MarkMarkPosFormat1 format1[]; + MarkMarkPosFormat1 *format1; } u; }; ASSERT_SIZE (MarkMarkPos, 2); @@ -1362,15 +1362,15 @@ struct PosLookupSubTable private: union { USHORT format; - SinglePos single[]; - PairPos pair[]; - CursivePos cursive[]; - MarkBasePos markBase[]; - MarkLigPos markLig[]; - MarkMarkPos markMark[]; - ContextPos context[]; - ChainContextPos chainContext[]; - ExtensionPos extension[]; + SinglePos *single; + PairPos *pair; + CursivePos *cursive; + MarkBasePos *markBase; + MarkLigPos *markLig; + MarkMarkPos *markMark; + ContextPos *context; + ChainContextPos *chainContext; + ExtensionPos *extension; } u; }; ASSERT_SIZE (PosLookupSubTable, 2); --- ./pango/opentype/hb-ot-layout-gsub-private.hh.dist 2009-11-09 13:21:27.997301400 +0000 +++ ./pango/opentype/hb-ot-layout-gsub-private.hh 2009-11-09 14:05:22.805520920 +0000 @@ -141,8 +141,8 @@ struct SingleSubst private: union { USHORT format; /* Format identifier */ - SingleSubstFormat1 format1[]; - SingleSubstFormat2 format2[]; + SingleSubstFormat1 *format1; + SingleSubstFormat2 *format2; } u; }; ASSERT_SIZE (SingleSubst, 2); @@ -249,7 +249,7 @@ struct MultipleSubst private: union { USHORT format; /* Format identifier */ - MultipleSubstFormat1 format1[]; + MultipleSubstFormat1 *format1; } u; }; ASSERT_SIZE (MultipleSubst, 2); @@ -345,7 +345,7 @@ struct AlternateSubst private: union { USHORT format; /* Format identifier */ - AlternateSubstFormat1 format1[]; + AlternateSubstFormat1 *format1; } u; }; ASSERT_SIZE (AlternateSubst, 2); @@ -531,7 +531,7 @@ struct LigatureSubst private: union { USHORT format; /* Format identifier */ - LigatureSubstFormat1 format1[]; + LigatureSubstFormat1 *format1; } u; }; ASSERT_SIZE (LigatureSubst, 2); @@ -672,7 +672,7 @@ struct ReverseChainSingleSubst private: union { USHORT format; /* Format identifier */ - ReverseChainSingleSubstFormat1 format1[]; + ReverseChainSingleSubstFormat1 *format1; } u; }; ASSERT_SIZE (ReverseChainSingleSubst, 2); @@ -733,14 +733,14 @@ struct SubstLookupSubTable private: union { USHORT format; - SingleSubst single[]; - MultipleSubst multiple[]; - AlternateSubst alternate[]; - LigatureSubst ligature[]; - ContextSubst context[]; - ChainContextSubst chainContext[]; - ExtensionSubst extension[]; - ReverseChainSingleSubst reverseChainContextSingle[]; + SingleSubst *single; + MultipleSubst *multiple; + AlternateSubst *alternate; + LigatureSubst *ligature; + ContextSubst *context; + ChainContextSubst *chainContext; + ExtensionSubst *extension; + ReverseChainSingleSubst *reverseChainContextSingle; } u; }; ASSERT_SIZE (SubstLookupSubTable, 2); --- ./pango/opentype/hb-ot-layout-gsubgpos-private.hh.dist 2009-11-09 13:22:02.278730200 +0000 +++ ./pango/opentype/hb-ot-layout-gsubgpos-private.hh 2009-11-09 14:03:50.642197560 +0000 @@ -318,9 +318,9 @@ struct Rule * glyph sequence--includes the first * glyph */ USHORT lookupCount; /* Number of LookupRecords */ - USHORT input[]; /* Array of match inputs--start with + USHORT *input; /* Array of match inputs--start with * second glyph */ - LookupRecord lookupRecordX[]; /* Array of LookupRecords--in + LookupRecord *lookupRecordX; /* Array of LookupRecords--in * design order */ }; ASSERT_SIZE (Rule, 4); @@ -473,9 +473,9 @@ struct ContextFormat3 * sequence */ USHORT lookupCount; /* Number of LookupRecords */ OffsetTo - coverage[]; /* Array of offsets to Coverage + *coverage; /* Array of offsets to Coverage * table in glyph sequence order */ - LookupRecord lookupRecordX[]; /* Array of LookupRecords--in + LookupRecord *lookupRecordX; /* Array of LookupRecords--in * design order */ }; ASSERT_SIZE (ContextFormat3, 6); @@ -508,9 +508,9 @@ struct Context private: union { USHORT format; /* Format identifier */ - ContextFormat1 format1[]; - ContextFormat2 format2[]; - ContextFormat3 format3[]; + ContextFormat1 *format1; + ContextFormat2 *format2; + ContextFormat3 *format3; } u; }; ASSERT_SIZE (Context, 2); @@ -821,9 +821,9 @@ struct ChainContext private: union { USHORT format; /* Format identifier */ - ChainContextFormat1 format1[]; - ChainContextFormat2 format2[]; - ChainContextFormat3 format3[]; + ChainContextFormat1 *format1; + ChainContextFormat2 *format2; + ChainContextFormat3 *format3; } u; }; ASSERT_SIZE (ChainContext, 2); @@ -889,7 +889,7 @@ struct Extension private: union { USHORT format; /* Format identifier */ - ExtensionFormat1 format1[]; + ExtensionFormat1 *format1; } u; }; ASSERT_SIZE (Extension, 2); --- ./pango/opentype/hb-ot-layout-common-private.hh.dist 2009-11-09 13:24:00.546877640 +0000 +++ ./pango/opentype/hb-ot-layout-common-private.hh 2009-11-09 13:56:16.127719920 +0000 @@ -295,7 +295,7 @@ struct Lookup USHORT lookupFlag; /* Lookup qualifiers */ OffsetArrayOf subTable; /* Array of SubTables */ - USHORT markFilteringSetX[0]; /* Index (base 0) into GDEF mark glyph sets + USHORT *markFilteringSetX; /* Index (base 0) into GDEF mark glyph sets * structure. This field is only present if bit * UseMarkFilteringSet of lookup flags is set. */ }; @@ -424,8 +424,8 @@ struct Coverage private: union { USHORT format; /* Format identifier */ - CoverageFormat1 format1[]; - CoverageFormat2 format2[]; + CoverageFormat1 *format1; + CoverageFormat2 *format2; } u; }; ASSERT_SIZE (Coverage, 2); @@ -540,8 +540,8 @@ struct ClassDef private: union { USHORT format; /* Format identifier */ - ClassDefFormat1 format1[]; - ClassDefFormat2 format2[]; + ClassDefFormat1 *format1; + ClassDefFormat2 *format2; } u; }; ASSERT_SIZE (ClassDef, 2); @@ -594,7 +594,7 @@ struct Device USHORT startSize; /* Smallest size to correct--in ppem */ USHORT endSize; /* Largest size to correct--in ppem */ USHORT deltaFormat; /* Format of DeltaValue array data: 1, 2, or 3 */ - USHORT deltaValue[]; /* Array of compressed data */ + USHORT *deltaValue; /* Array of compressed data */ }; ASSERT_SIZE (Device, 6);