diff options
Diffstat (limited to 'lpvm.c')
-rw-r--r-- | lpvm.c | 13 |
1 files changed, 1 insertions, 12 deletions
@@ -288,17 +288,6 @@ const char *match (lua_State *L, const char *o, const char *s, const char *e, | |||
288 | p += (CHARSETINSTSIZE - 1) + 2; | 288 | p += (CHARSETINSTSIZE - 1) + 2; |
289 | continue; | 289 | continue; |
290 | } | 290 | } |
291 | case IRecov: { /* labeled failure */ | ||
292 | if (stack == stacklimit) | ||
293 | stack = doublestack(L, &stacklimit, ptop); | ||
294 | stack->p = p + getoffset(p); | ||
295 | stack->s = NULL; | ||
296 | stack->ls = (const Labelset *) ((p + 2)->buff); | ||
297 | stack->caplevel = captop; | ||
298 | stack++; | ||
299 | p += (CHARSETINSTSIZE - 1) + 2; | ||
300 | continue; | ||
301 | } | ||
302 | case ICall: { | 291 | case ICall: { |
303 | if (stack == stacklimit) | 292 | if (stack == stacklimit) |
304 | stack = doublestack(L, &stacklimit, ptop); | 293 | stack = doublestack(L, &stacklimit, ptop); |
@@ -311,7 +300,7 @@ const char *match (lua_State *L, const char *o, const char *s, const char *e, | |||
311 | } | 300 | } |
312 | case ICommit: { | 301 | case ICommit: { |
313 | assert(stack > getstackbase(L, ptop) && (stack - 1)->ls != NULL); /* labeled failure */ | 302 | assert(stack > getstackbase(L, ptop) && (stack - 1)->ls != NULL); /* labeled failure */ |
314 | /*assert((stack - 1)->s != NULL); labeled failure: IRecov does not push s onto the stack */ | 303 | assert((stack - 1)->s != NULL); |
315 | stack--; | 304 | stack--; |
316 | p += getoffset(p); | 305 | p += getoffset(p); |
317 | continue; | 306 | continue; |