message: Fix bug in offset calcs
diff: @@ -283,8 +283,14 @@ static void AddSimpleField(FMFieldList *FieldP, int *CountP, const char *Name,
  {
  FMFieldList PriorField;
  PriorField = &((*FieldP)[(*CountP) - 1]);
  - Offset = ((PriorField->field_offset + PriorField->field_size +
  - ElementSize - 1) /
  + int PriorFieldSize = PriorField->field_size;
  + if (index(PriorField->field_type, '['))
  + {
  + // really a pointer
  + PriorFieldSize = sizeof(void *);
  + }
  + Offset =
  + ((PriorField->field_offset + PriorFieldSize + ElementSize - 1) /
  ElementSize) *
  ElementSize;
  }
  