- IF execute(t->iftre,0)==0
- THEN execute(t->thtre,execflg);
- ELSE execute(t->eltre,execflg);
- FI
+ BEGIN
+ INT i, saveflg;
+
+ saveflg = flags&errflg;
+ flags &= ~errflg;
+ i=execute(t->ifnod.iftre,0);
+ flags |= saveflg;
+ IF i==0
+ THEN execute(t->ifnod.thtre,execflg);
+ ELSE execute(t->ifnod.eltre,execflg);
+ FI
+ END