call app's main() from within Lua pmain
This commit is contained in:
parent
e07fa910bb
commit
cfb7cff4c1
|
@ -243,8 +243,12 @@ static int pmain (lua_State *L) {
|
||||||
lua_gc(L, LUA_GCRESTART, 0);
|
lua_gc(L, LUA_GCRESTART, 0);
|
||||||
s->status = handle_luainit(L);
|
s->status = handle_luainit(L);
|
||||||
if (s->status != 0) return 0;
|
if (s->status != 0) return 0;
|
||||||
s->status = handle_image(L, argv, 1);
|
s->status = load_image(L, argv, 1);
|
||||||
if (s->status != 0) return 0;
|
if (s->status != 0) return 0;
|
||||||
|
/* call main() */
|
||||||
|
lua_getglobal(L, "spawn_main");
|
||||||
|
s->status = docall(L, 0, 1);
|
||||||
|
if (s->status != 0) return report_in_developer_mode(L, s->status);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1783,7 +1783,7 @@ static const char* events_view() {
|
||||||
char* Image_name = NULL;
|
char* Image_name = NULL;
|
||||||
extern void set_args (lua_State *L, char **argv, int n);
|
extern void set_args (lua_State *L, char **argv, int n);
|
||||||
extern void load_tlv(lua_State* L, char* filename);
|
extern void load_tlv(lua_State* L, char* filename);
|
||||||
int handle_image(lua_State* L, char** argv, int n) {
|
int load_image(lua_State* L, char** argv, int n) {
|
||||||
int status;
|
int status;
|
||||||
set_args(L, argv, n);
|
set_args(L, argv, n);
|
||||||
/* parse and load file contents (teliva_program array) */
|
/* parse and load file contents (teliva_program array) */
|
||||||
|
@ -1800,9 +1800,5 @@ int handle_image(lua_State* L, char** argv, int n) {
|
||||||
clear_caller(L);
|
clear_caller(L);
|
||||||
/* initialize permissions */
|
/* initialize permissions */
|
||||||
load_permissions_from_user_configuration(L);
|
load_permissions_from_user_configuration(L);
|
||||||
/* call main() */
|
|
||||||
lua_getglobal(L, "spawn_main");
|
|
||||||
status = docall(L, 0, 1);
|
|
||||||
if (status != 0) return report_in_developer_mode(L, status);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -152,7 +152,7 @@ enum color_pair {
|
||||||
/* Integrate with Lua VM */
|
/* Integrate with Lua VM */
|
||||||
extern char** Argv;
|
extern char** Argv;
|
||||||
extern char* Previous_message;
|
extern char* Previous_message;
|
||||||
extern int handle_image(lua_State* L, char** argv, int n);
|
extern int load_image(lua_State* L, char** argv, int n);
|
||||||
extern void developer_mode(lua_State* L);
|
extern void developer_mode(lua_State* L);
|
||||||
extern void permissions_mode(lua_State* L);
|
extern void permissions_mode(lua_State* L);
|
||||||
extern int file_operation_permitted(const char* caller, const char* filename, const char* mode);
|
extern int file_operation_permitted(const char* caller, const char* filename, const char* mode);
|
||||||
|
|
Loading…
Reference in New Issue