[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Problem reading Lua variables from C++
- From: Patrick Rapin <toupie300@...>
- Date: Wed, 28 Sep 2011 12:39:47 +0200
You do not deal correctly with errors. If the script file have syntax error, lua_pcall will be called on a nil argument, crashing the program.
I take the opportunity to advertize my C++ binding named LuaClassBasedCall[1] on which I worked recently. Version 2.0 will be in fact soon announced.
Using the simple binding, your loadLuaFile function can become very short:
void loadLuaFile (char *filename, int *width, int *height) {
Lua L;
L.PCall("dofile(...) return width, height", Input(filename), Outputs(*width, *height));
}
And it will not crash in case of errors. Normally, you have to check the return value of PCall, which is the error message or NULL if no error occured.
[1] https://github.com/prapin/LuaClassBasedCall