[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: difference between lua_dofile and luaL_loadfile?
- From: Peter Shook <pshook@...>
- Date: Sat, 09 Aug 2003 15:04:43 -0400
Johannes Hager wrote:
Can someone answere me this question? And why worked lua_dofile in my programm
and luaL_dofile brings: error: attempt to call a nil value
Try checking the return code from luaL_loadfile.
http://www.lua.org/manual/5.0/manual.html#3.10
The return values of lua_load are:
* 0 --- no errors;
* LUA_ERRSYNTAX --- syntax error during pre-compilation.
* LUA_ERRMEM --- memory allocation error.
Here is a handy function for when things go wrong:
static int report (lua_State *L, int status) {
const char *msg;
if (status) {
msg = lua_tostring(L, -1);
if (msg == NULL) msg = "(error with no message)";
fprintf(stderr, "status=%d, %s\n", status, msg);
lua_pop(L, 1);
}
return status;
}
use it like so:
if (report(L, luaL_loadfile(L, filename) || lua_pcall(L, 0,0,0))) exit(1);
else printf("okay\n");
- Peter