From: Daniel Kolesa Date: Fri, 10 Apr 2015 13:36:26 +0000 (+0100) Subject: elua lib: add progname to state X-Git-Tag: v1.15.0-alpha1~752^2~60 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=13bd7ba6533a54759df079467f9842ccb6ae4e24;p=platform%2Fupstream%2Fefl.git elua lib: add progname to state --- diff --git a/src/bin/elua/main.c b/src/bin/elua/main.c index 6497f3d..24bd916 100644 --- a/src/bin/elua/main.c +++ b/src/bin/elua/main.c @@ -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); diff --git a/src/lib/elua/Elua.h b/src/lib/elua/Elua.h index 9814cf2..cc7442d 100644 --- a/src/lib/elua/Elua.h +++ b/src/lib/elua/Elua.h @@ -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); diff --git a/src/lib/elua/elua.c b/src/lib/elua/elua.c index 9299b8f..fb85901 100644 --- a/src/lib/elua/elua.c +++ b/src/lib/elua/elua.c @@ -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); diff --git a/src/lib/elua/elua_private.h b/src/lib/elua/elua_private.h index aa00cd3..fbf7bb3 100644 --- a/src/lib/elua/elua_private.h +++ b/src/lib/elua/elua_private.h @@ -30,6 +30,7 @@ struct _Elua_State { lua_State *luastate; + Eina_Stringshare *progname; Eina_Stringshare *coredir; Eina_Stringshare *moddir; Eina_Stringshare *appsdir;