diff --git a/mach/proto/cg/nextem.c b/mach/proto/cg/nextem.c index 4aab43f2e..405dc12c4 100644 --- a/mach/proto/cg/nextem.c +++ b/mach/proto/cg/nextem.c @@ -60,9 +60,14 @@ byte *trypat(bp,len) register byte *bp; { dollar[i].e_v.e_str=emp[i].em_soper; getint(i,bp); if (i!=0) { + struct emline *svp = saveemp; + + saveemp = emp; result = compute(&enodes[i]); - if (result.e_typ != EV_INT || result.e_v.e_con == 0) + if (result.e_typ != EV_INT || result.e_v.e_con == 0) { + saveemp = svp; return(0); + } } #ifndef NDEBUG if (Debug) {