/* GGGG EEEEE TTTTT EEEEE N N TTTTT CCCC ** G E T E NN N T C ** G GGG EEEE T EEEE N N N T C ** G G E T E N NN T .. C ** GGG EEEEE T EEEEE N N T .. CCCC ** ** Copyright (c) 1988,1993 by WIZ WORX (DAHarrod) Concord, MA */ #include #include #include "igespeek.h" #include "readiges.h" PNTR get000(), get100(), get102(), get104(), get106(), get108(), get110(), get112(), get114(), get116(), get118(), get120(), get122(), get124(), get125(), get126(), get128(), get130(), get132(), get134(), get136(), get138(), get140(), get142(), get144(), get146(), get148(), get150(), get152(), get154(), get156(), get158(), get160(), get162(), get164(), get168(), get180(), get184(), get202(), get206(), get208(), get210(), get212(), get214(), get216(), get218(), get220(), get222(), get228(), get230(), get302(), get304(), get306(), get308(), get310(), get312(), get314(), get320(), get322(), get402(), get404(), get406(), get408(), get410(), get412(), get414(), get416(), get418(), get420(), get422(), get430(), get182(), get123(), get141(), get143(), get316(), get190(), get192(), get194(), get196(), get198(), get204(), get213(), get186(), get502(), get504(), get508(), get510(), get514(); NUMFNC get_func[] = { { 0, get000 }, { 100, get100 }, { 102, get102 }, { 104, get104 }, { 106, get106 }, { 108, get108 }, { 110, get110 }, { 112, get112 }, { 114, get114 }, { 116, get116 }, { 118, get118 }, { 120, get120 }, { 122, get122 }, { 124, get124 }, { 125, get125 }, { 126, get126 }, { 128, get128 }, { 130, get130 }, { 132, get132 }, { 134, get134 }, { 136, get136 }, { 138, get138 }, { 140, get140 }, { 142, get142 }, { 144, get144 }, { 146, get146 }, { 148, get148 }, { 150, get150 }, { 152, get152 }, { 154, get154 }, { 156, get156 }, { 158, get158 }, { 160, get160 }, { 162, get162 }, { 164, get164 }, { 168, get168 }, { 180, get180 }, { 184, get184 }, { 202, get202 }, { 206, get206 }, { 208, get208 }, { 210, get210 }, { 212, get212 }, { 214, get214 }, { 216, get216 }, { 218, get218 }, { 220, get220 }, { 222, get222 }, { 228, get228 }, { 230, get230 }, { 302, get302 }, { 304, get304 }, { 306, get306 }, { 308, get308 }, { 310, get310 }, { 312, get312 }, { 314, get314 }, { 320, get320 }, { 322, get322 }, { 402, get402 }, { 404, get404 }, { 406, get406 }, { 408, get408 }, { 410, get410 }, { 412, get412 }, { 414, get414 }, { 416, get416 }, { 418, get418 }, { 420, get420 }, { 422, get422 }, { 430, get430 }, { 182, get182 }, { 123, get123 }, { 141, get141 }, { 143, get143 }, { 316, get316 }, { 190, get190 }, { 192, get192 }, { 194, get194 }, { 196, get196 }, { 198, get198 }, { 204, get204 }, { 213, get213 }, { 186, get186 }, { 502, get502 }, { 504, get504 }, { 508, get508 }, { 510, get510 }, { 514, get514 } }; #define TBLSIZ (sizeof(get_func)/sizeof(NUMFNC)) /**************************************************************/ void getent(PNTR de, ENTITY *ent) { int k; ent->e_pdata = NULL; get_de(de, ent); /* get DE record */ ent->e_acnt.ival = de; /* save for use by entxxx */ for (k=0; ke_type) { get_pd(ent); (*get_func[k].entfnc)(ent); /* get PD record */ break; } } if (k == TBLSIZ) get000(ent); /* unknown entity type */ ent->e_assoc = NULL; getintg(&ent->e_acnt); /* get associativities */ if (ent->e_acnt.ival > 0) { ent->e_assoc = (INTG *)malloc((int)(sizeof(INTG)*ent->e_acnt.ival)); for (k=0; k<(int)ent->e_acnt.ival; k++) getintg(&ent->e_assoc[k]); } ent->e_prop = NULL; getintg(&ent->e_pcnt); /* get properties */ if (ent->e_pcnt.ival > 0) { ent->e_prop = (INTG *)malloc((int)(sizeof(INTG)*ent->e_pcnt.ival)); for (k=0; k<(int)ent->e_pcnt.ival; k++) getintg(&ent->e_prop[k]); } }