rhodes@grebyn.com (Ned Rhodes) (04/19/91)
The following program fragment will not compile under my current configuration of MPW. I have not tried other versions or the latest one ETO #3. The same code will compile under gcc, so I think it is a problem with MPW on the Mac. Does anyone have any ideas? I have passed this on to DTS. /* Shows that offsetof macro is not being properly processed MPW 3.2b9 and C 3.2b3Q101 */ #include <stddef.h> /* macro for sizeof a structure member */ #define sizeofm(struct_t, member) ((size_t)(sizeof(((struct_t *)0)->member))) /* record definition */ typedef struct { char rd_contact[41]; /* contact name (last name first) */ char rd_title[41]; /* contact job title */ char rd_company[41]; /* company name */ char rd_addr[2*40+1]; /* company address */ char rd_city[26]; /* city */ char rd_state[3]; /* state */ char rd_zip[11]; /* zip code */ char rd_phone[13]; /* phone number */ char rd_ext[5]; /* phone extension */ char rd_fax[13]; /* fax number */ char rd_notes[4*40+1]; /* notes */ } rolodeck_t; typedef struct { /* field definition */ size_t offset; /* offset of field in record */ size_t len; /* field length */ int type; /* field data type */ int flags; /* flags */ char filename[100]; /* name of file to store keys in */ } cbfield_t; /* field definition list */ const cbfield_t rdfldv[] = { {offsetof(rolodeck_t, rd_contact), sizeofm(rolodeck_t, rd_contact), 1, 2, "rdcont.ndx" } }; main() { } -- Ned W. Rhodes (703) 534-2297 (voice) Software Systems Group (703) 237-9654 (fax) 2001 North Kenilworth Street CompuServe : 71321,424 Arlington, VA 22205 rhodes@grebyn.COM