Set saveemp before calling "compute". "compute" might need it!
authorceriel <none@none>
Wed, 4 Mar 1987 10:32:22 +0000 (10:32 +0000)
committerceriel <none@none>
Wed, 4 Mar 1987 10:32:22 +0000 (10:32 +0000)
mach/proto/cg/nextem.c

index 4aab43f..405dc12 100644 (file)
@@ -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) {