diff --git a/pike.c b/pike.c index 59651e1..92f86a7 100644 --- a/pike.c +++ b/pike.c @@ -433,9 +433,8 @@ int re_comp(rcode *prog, const char *re, int nsubs) { prog->gen = gen + 1; return state; } \ #define newsub(init, copy) \ -s1 = freesub; \ -if (s1) \ - { freesub = (rsub*)s1->sub[0]; copy } \ +if (freesub) \ + { s1 = freesub; freesub = (rsub*)s1->sub[0]; copy } \ else \ { s1 = (rsub*)&nsubs[rsubsize * subidx++]; init } \