forked from enlightenment/efl
elua lib: elua_io_loadfile now uses Elua_State
This commit is contained in:
parent
e4baa1bc12
commit
128aa3a1ea
|
@ -203,7 +203,7 @@ static int
|
||||||
elua_dofile(Elua_State *es, const char *fname)
|
elua_dofile(Elua_State *es, const char *fname)
|
||||||
{
|
{
|
||||||
return elua_report_error(es, elua_progname,
|
return elua_report_error(es, elua_progname,
|
||||||
elua_io_loadfile(es->luastate, fname)
|
elua_io_loadfile(es, fname)
|
||||||
|| elua_docall(es, 0, 1));
|
|| elua_docall(es, 0, 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -236,10 +236,9 @@ static int
|
||||||
elua_doscript(Elua_State *es, int argc, char **argv, int n, int *quit)
|
elua_doscript(Elua_State *es, int argc, char **argv, int n, int *quit)
|
||||||
{
|
{
|
||||||
int status;
|
int status;
|
||||||
lua_State *L = es->luastate;
|
|
||||||
const char *fname = argv[n];
|
const char *fname = argv[n];
|
||||||
int narg = elua_getargs(es, argc, argv, n);
|
int narg = elua_getargs(es, argc, argv, n);
|
||||||
lua_setglobal(L, "arg");
|
lua_setglobal(es->luastate, "arg");
|
||||||
if (fname[0] == '-' && !fname[1])
|
if (fname[0] == '-' && !fname[1])
|
||||||
{
|
{
|
||||||
fname = NULL;
|
fname = NULL;
|
||||||
|
@ -251,28 +250,28 @@ elua_doscript(Elua_State *es, int argc, char **argv, int n, int *quit)
|
||||||
if (f)
|
if (f)
|
||||||
{
|
{
|
||||||
fclose(f);
|
fclose(f);
|
||||||
status = elua_io_loadfile(L, fname);
|
status = elua_io_loadfile(es, fname);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
status = !elua_loadapp(es, fname);
|
status = !elua_loadapp(es, fname);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
status = elua_io_loadfile(L, fname);
|
status = elua_io_loadfile(es, fname);
|
||||||
}
|
}
|
||||||
lua_insert(L, -(narg + 1));
|
lua_insert(es->luastate, -(narg + 1));
|
||||||
if (!status)
|
if (!status)
|
||||||
{
|
{
|
||||||
status = elua_docall(es, narg, 1);
|
status = elua_docall(es, narg, 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
lua_pop(L, narg);
|
lua_pop(es->luastate, narg);
|
||||||
}
|
}
|
||||||
if (!status)
|
if (!status)
|
||||||
{
|
{
|
||||||
*quit = lua_toboolean(L, -1);
|
*quit = lua_toboolean(es->luastate, -1);
|
||||||
lua_pop(L, 1);
|
lua_pop(es->luastate, 1);
|
||||||
}
|
}
|
||||||
return elua_report_error(es, elua_progname, status);
|
return elua_report_error(es, elua_progname, status);
|
||||||
}
|
}
|
||||||
|
@ -434,7 +433,7 @@ elua_main(lua_State *L)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
snprintf(modfile, sizeof(modfile), "%s/module.lua", coref);
|
snprintf(modfile, sizeof(modfile), "%s/module.lua", coref);
|
||||||
if (elua_report_error(es, elua_progname, elua_io_loadfile(L, modfile)))
|
if (elua_report_error(es, elua_progname, elua_io_loadfile(es, modfile)))
|
||||||
{
|
{
|
||||||
m->status = 1;
|
m->status = 1;
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -447,7 +446,7 @@ elua_main(lua_State *L)
|
||||||
lua_call(L, 2, 0);
|
lua_call(L, 2, 0);
|
||||||
|
|
||||||
snprintf(modfile, sizeof(modfile), "%s/gettext.lua", coref);
|
snprintf(modfile, sizeof(modfile), "%s/gettext.lua", coref);
|
||||||
if (elua_report_error(es, elua_progname, elua_io_loadfile(L, modfile)))
|
if (elua_report_error(es, elua_progname, elua_io_loadfile(es, modfile)))
|
||||||
{
|
{
|
||||||
m->status = 1;
|
m->status = 1;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -84,7 +84,7 @@ EAPI int elua_report_error(Elua_State *es, const char *pname, int status);
|
||||||
EAPI void elua_state_setup_i18n(Elua_State *es);
|
EAPI void elua_state_setup_i18n(Elua_State *es);
|
||||||
|
|
||||||
EAPI int elua_io_popen(lua_State *L);
|
EAPI int elua_io_popen(lua_State *L);
|
||||||
EAPI int elua_io_loadfile(lua_State *L, const char *fname);
|
EAPI int elua_io_loadfile(Elua_State *es, const char *fname);
|
||||||
EAPI void elua_io_register(lua_State *L);
|
EAPI void elua_io_register(lua_State *L);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -150,13 +150,16 @@ getf_map(lua_State *L EINA_UNUSED, void *ud, size_t *size)
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI int
|
EAPI int
|
||||||
elua_io_loadfile(lua_State *L, const char *fname)
|
elua_io_loadfile(Elua_State *es, const char *fname)
|
||||||
{
|
{
|
||||||
Map_Stream s;
|
Map_Stream s;
|
||||||
int status;
|
int status;
|
||||||
Eina_File *f;
|
Eina_File *f;
|
||||||
const char *chname;
|
const char *chname;
|
||||||
Eina_Bool bcache = EINA_FALSE;
|
Eina_Bool bcache = EINA_FALSE;
|
||||||
|
lua_State *L;
|
||||||
|
if (!es || !es->luastate) return -1;
|
||||||
|
L = es->luastate;
|
||||||
if (!fname)
|
if (!fname)
|
||||||
{
|
{
|
||||||
return elua_loadstdin(L);
|
return elua_loadstdin(L);
|
||||||
|
@ -187,8 +190,9 @@ elua_io_loadfile(lua_State *L, const char *fname)
|
||||||
static int
|
static int
|
||||||
loadfile(lua_State *L)
|
loadfile(lua_State *L)
|
||||||
{
|
{
|
||||||
|
Elua_State *es = elua_state_from_lua_get(L);
|
||||||
const char *fname = luaL_optstring(L, 1, NULL);
|
const char *fname = luaL_optstring(L, 1, NULL);
|
||||||
int status = elua_io_loadfile(L, fname),
|
int status = elua_io_loadfile(es, fname),
|
||||||
hasenv = (lua_gettop(L) >= 3);
|
hasenv = (lua_gettop(L) >= 3);
|
||||||
if (!status)
|
if (!status)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue