forked from enlightenment/efl
elua lib: add progname to state
This commit is contained in:
parent
865e2e3364
commit
13bd7ba653
|
@ -376,7 +376,7 @@ main(int argc, char **argv)
|
|||
|
||||
INF("elua logging initialized: %d", _el_log_domain);
|
||||
|
||||
if (!(es = elua_state_new()))
|
||||
if (!(es = elua_state_new((argv[0] && argv[0][0]) ? argv[0] : "elua")))
|
||||
{
|
||||
ERR("could not initialize elua state.");
|
||||
elua_bin_shutdown(es, 1);
|
||||
|
|
|
@ -65,7 +65,7 @@ typedef struct _Elua_State Elua_State;
|
|||
EAPI int elua_init(void);
|
||||
EAPI int elua_shutdown(void);
|
||||
|
||||
EAPI Elua_State *elua_state_new(void);
|
||||
EAPI Elua_State *elua_state_new(const char *progname);
|
||||
EAPI Elua_State *elua_state_from_lua_get(lua_State *L);
|
||||
|
||||
EAPI void elua_state_free(Elua_State *es);
|
||||
|
|
|
@ -63,7 +63,7 @@ elua_shutdown(void)
|
|||
}
|
||||
|
||||
EAPI Elua_State *
|
||||
elua_state_new(void)
|
||||
elua_state_new(const char *progname)
|
||||
{
|
||||
Elua_State *ret = NULL;
|
||||
lua_State *L = luaL_newstate();
|
||||
|
@ -71,6 +71,7 @@ elua_state_new(void)
|
|||
return NULL;
|
||||
ret = calloc(1, sizeof(Elua_State));
|
||||
ret->luastate = L;
|
||||
if (progname) ret->progname = eina_stringshare_add(progname);
|
||||
luaL_openlibs(L);
|
||||
lua_pushlightuserdata(L, ret);
|
||||
lua_setfield(L, LUA_REGISTRYINDEX, "elua_ptr");
|
||||
|
@ -95,6 +96,7 @@ elua_state_free(Elua_State *es)
|
|||
eina_list_free(es->cmods);
|
||||
EINA_LIST_FREE(es->lincs, data)
|
||||
eina_stringshare_del(data);
|
||||
eina_stringshare_del(es->progname);
|
||||
eina_stringshare_del(es->coredir);
|
||||
eina_stringshare_del(es->moddir);
|
||||
eina_stringshare_del(es->appsdir);
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
struct _Elua_State
|
||||
{
|
||||
lua_State *luastate;
|
||||
Eina_Stringshare *progname;
|
||||
Eina_Stringshare *coredir;
|
||||
Eina_Stringshare *moddir;
|
||||
Eina_Stringshare *appsdir;
|
||||
|
|
Loading…
Reference in New Issue