mirror of https://github.com/rusefi/lua.git
added an `L' parameter to macros L_TRY & L_THROW (someone may need it).
This commit is contained in:
parent
23b38176a7
commit
12dacd3c0e
6
ldo.c
6
ldo.c
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
** $Id: ldo.c,v 2.10 2004/09/15 20:39:42 roberto Exp roberto $
|
||||
** $Id: ldo.c,v 2.11 2004/09/22 12:37:52 roberto Exp roberto $
|
||||
** Stack and Call structure of Lua
|
||||
** See Copyright Notice in lua.h
|
||||
*/
|
||||
|
@ -70,7 +70,7 @@ static void seterrorobj (lua_State *L, int errcode, StkId oldtop) {
|
|||
void luaD_throw (lua_State *L, int errcode) {
|
||||
if (L->errorJmp) {
|
||||
L->errorJmp->status = errcode;
|
||||
L_THROW(L->errorJmp);
|
||||
L_THROW(L, L->errorJmp);
|
||||
}
|
||||
else {
|
||||
if (G(L)->panic) G(L)->panic(L);
|
||||
|
@ -84,7 +84,7 @@ int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud) {
|
|||
lj.status = 0;
|
||||
lj.previous = L->errorJmp; /* chain new error handler */
|
||||
L->errorJmp = &lj;
|
||||
L_TRY(&lj,
|
||||
L_TRY(L, &lj,
|
||||
(*f)(L, ud);
|
||||
);
|
||||
L->errorJmp = lj.previous; /* restore old error handler */
|
||||
|
|
10
luaconf.h
10
luaconf.h
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
** $Id: luaconf.h,v 1.17 2004/11/24 18:55:56 roberto Exp roberto $
|
||||
** $Id: luaconf.h,v 1.18 2004/12/01 15:50:18 roberto Exp roberto $
|
||||
** Configuration file for Lua
|
||||
** See Copyright Notice in lua.h
|
||||
*/
|
||||
|
@ -234,14 +234,14 @@
|
|||
#ifndef __cplusplus
|
||||
/* default handling with long jumps */
|
||||
#include <setjmp.h>
|
||||
#define L_THROW(c) longjmp((c)->b, 1)
|
||||
#define L_TRY(c,a) if (setjmp((c)->b) == 0) { a }
|
||||
#define L_THROW(L,c) longjmp((c)->b, 1)
|
||||
#define L_TRY(L,c,a) if (setjmp((c)->b) == 0) { a }
|
||||
#define l_jmpbuf jmp_buf
|
||||
|
||||
#else
|
||||
/* C++ exceptions */
|
||||
#define L_THROW(c) throw(c)
|
||||
#define L_TRY(c,a) try { a } catch(...) \
|
||||
#define L_THROW(L,c) throw(c)
|
||||
#define L_TRY(L,c,a) try { a } catch(...) \
|
||||
{ if ((c)->status == 0) (c)->status = -1; }
|
||||
#define l_jmpbuf int /* dummy variable */
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue