root@vox.darkside.com (Postmaster) (12/13/89)
"It is not permitted to initialize unions or automatic aggregates." K&R1 I've resigned myself to using space fillers to get around this limitation. This is all well & good for mixing two or maybe three types of data. Is there an elegant way of initializing varying datatypes in a table? (The purpose is table driven configuration). I refuse to believe that nobody else has ever had this problem. (two paragraphs of pruned code): int option0; char *option1; char **option2; typedef struct { char *option; int type; int *number; char **string; char ***list; } Table; static Table options[] = { "option0", STRING, 0, &option0, NULL, "option1", INT, &option1, NULL, NULL, "option2", LIST, 0, NULL, &option2, }; Even if I this were in an ANSI C environment, their handling of unions is almost as restrictive as K & R 1ed. My current approach can only fit three or four data types per line. I would appreciate any ideas regarding solutions to my little dilemma, and I will summarize for the common good (sniff). Thomas E. Dell / root@vox.darkside.com