diff options
Diffstat (limited to 'lpvm.c')
-rw-r--r-- | lpvm.c | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -277,6 +277,17 @@ const char *match (lua_State *L, const char *o, const char *s, const char *e, | |||
277 | p += 2; | 277 | p += 2; |
278 | continue; | 278 | continue; |
279 | } | 279 | } |
280 | case ILabChoice: { /* labeled failure */ | ||
281 | if (stack == stacklimit) | ||
282 | stack = doublestack(L, &stacklimit, ptop); | ||
283 | stack->p = p + getoffset(p); | ||
284 | stack->s = s; | ||
285 | stack->ls = (const Labelset *) ((p + 2)->buff); | ||
286 | stack->caplevel = captop; | ||
287 | stack++; | ||
288 | p += (CHARSETINSTSIZE - 1) + 2; | ||
289 | continue; | ||
290 | } | ||
280 | case IRecov: { /* labeled failure */ | 291 | case IRecov: { /* labeled failure */ |
281 | if (stack == stacklimit) | 292 | if (stack == stacklimit) |
282 | stack = doublestack(L, &stacklimit, ptop); | 293 | stack = doublestack(L, &stacklimit, ptop); |