*expp, '(', (struct expr *)0);
}
else
- *expp = new_oper(expp_tp->tp_up,
- *expp, '(', expr);
+ *expp = new_oper(expp_tp->tp_up, *expp, '(', expr);
(*expp)->ex_flags |= EX_SIDEEFFECTS;
break;
FileName = source = argv[0];
else {
source = 0;
- FileName = "standard input";
+ FileName = Salloc("standard input", 16);
}
if (!InsertFile(source, (char **) 0, &result)) /* read the source file */
struct idf **idpp;
{
struct tag *tg = (struct tag *)0;
+ register int fund = tp->tp_fund;
- while (tp->tp_up) tp = tp->tp_up;
+ while (fund == FIELD || fund == POINTER
+ || fund == ARRAY || fund == FUNCTION) {
+ tp = tp->tp_up;
+ fund = tp->tp_fund;
+ }
*idpp = tp->tp_idf;
switch(tp->tp_fund) {
case ENUM: tg = tp->tp_idf->id_enum; break;
*/
register struct proto *pl, *opl;
- if (tp == otp) {
- return;
- }
- if (!tp || !otp) {
- return;
- }
+ if (tp == otp) return;
+ if (!tp || !otp) return;
while (tp->tp_fund != FUNCTION) {
tp = tp->tp_up;
} else if (opl) {
/* old decl has type */
} else if (pl) {
- /* new decl has type */
otp->tp_proto = pl;
}
register struct proto *pl;
{
while (pl) {
- struct proto *tmp = pl->next;
+ register struct proto *tmp = pl->next;
free_proto(pl);
pl = tmp;
}
{
register struct idf *ident;
register struct tag *tgp, **tgpp;
+ register int fund = tp->tp_fund;
- while(tp->tp_up) tp = tp->tp_up;
+ while (fund == FIELD || fund == POINTER
+ || fund == ARRAY || fund == FUNCTION) {
+ tp = tp->tp_up;
+ fund = tp->tp_fund;
+ }
ident = tp->tp_idf;
switch (tp->tp_fund) {