--- msgcat.h.orig 2007-02-07 11:30:18.000000000 -0800 +++ msgcat.h 2007-02-07 11:57:46.000000000 -0800 @@ -44,7 +44,7 @@ */ /* For or'd constants */ -#define MCMakeId(s,m) (unsigned long) ( ((unsigned short)s << (sizeof(short)*8)) \ +#define MCMakeId(s,m) (u_int32_t) ( ((unsigned short)s << (sizeof(short)*8)) \ | (unsigned short)m ) #define MCSetId(id) (unsigned int) ( id >> (sizeof(short) * 8) ) #define MCMsgId(id) (unsigned int) ( (id << (sizeof(short) * 8)) \ @@ -54,7 +54,7 @@ #define MCLastMsg 0 #define MCLastSet 0 -#define MCMajorVer 1L +#define MCMajorVer 1 #define MCMinorVer 0 /* @@ -100,38 +100,44 @@ struct _MCSetT *set; } MCOffsetT; +#ifdef __LP64__ +#pragma pack(4) +#endif /* __LP64__ */ /* * MCMsgT - Message structure (disk and runtime) */ typedef struct _MCMsgT { - long msgId; /* Id of this message */ + int32_t msgId; /* Id of this message */ MCOffsetT msg; /* Relative offset on disk or pointer in memory */ - long invalid; /* Valid on disk, loaded in memory */ + int32_t invalid; /* Valid on disk, loaded in memory */ } MCMsgT; /* * MCSetT - Set structure (disk and runtime) */ typedef struct _MCSetT { - long setId; /* Id of this set */ + int32_t setId; /* Id of this set */ off_t nextSet; /* Offset of next set on disk */ union { off_t firstMsg; /* Offset to first Msg (while on disk) */ MCMsgT *msgs; /* Pointer to array of msgs (in mem, loaded) */ } u; MCOffsetT data; /* Offset to data, or pointer to data */ - long dataLen; /* Length of data area on disk */ - long numMsgs; /* Number of messages */ - long invalid; /* Valid on disk, loaded in memory */ + int32_t dataLen; /* Length of data area on disk */ + int32_t numMsgs; /* Number of messages */ + int32_t invalid; /* Valid on disk, loaded in memory */ } MCSetT; +#ifdef __LP64__ +#pragma pack() +#endif /* __LP64__ */ /* * MCCatT - Runtime catalog pointer */ typedef struct { - long loadType; /* How to load the messages (see MSLoadType) */ + int32_t loadType; /* How to load the messages (see MSLoadType) */ FILE *fp; /* File descriptor of catalog (if load-on-demand) */ - long numSets; /* Number of sets */ + int32_t numSets; /* Number of sets */ MCSetT *sets; /* Pointer to the sets */ off_t firstSet; /* Offset of first set on disk */ } MCCatT; @@ -141,10 +147,10 @@ */ typedef struct { char magic[MCMagicLen]; /* Magic cookie "*nazgul*" */ - long majorVer; /* ++ on incompatible changes */ - long minorVer; /* ++ on compatible changes */ - long flags; /* Informational flags */ - long numSets; /* Number of valid Sets */ + int32_t majorVer; /* ++ on incompatible changes */ + int32_t minorVer; /* ++ on compatible changes */ + int32_t flags; /* Informational flags */ + int32_t numSets; /* Number of valid Sets */ off_t firstSet; /* Offset of first set on disk */ } MCHeaderT;