luainstance: allow access to defined directories

Origin commit data
------------------
Branch: ni/coolstream
Commit: 603e0fefab
Author: vanhofen <vanhofen@gmx.de>
Date: 2021-09-23 (Thu, 23 Sep 2021)

Origin message was:
------------------
- luainstance: allow access to defined directories

------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
vanhofen
2021-09-23 22:57:25 +02:00
parent c22c1576e4
commit 3540bf3be2
3 changed files with 67 additions and 1 deletions

View File

@@ -422,6 +422,42 @@ static void set_lua_variables(lua_State *L)
{ NULL, 0 }
};
/* directories, exported as e.g. DIR['CONFIGDIR'] */
table_key_s directories[] =
{
{ "CONFIGDIR", CONFIGDIR },
{ "DATADIR", DATADIR },
{ "DATADIR_VAR", DATADIR_VAR },
{ "CONTROLDIR", CONTROLDIR },
{ "CONTROLDIR_VAR", CONTROLDIR_VAR },
{ "FONTDIR", FONTDIR },
{ "FONTDIR_VAR", FONTDIR_VAR },
{ "LIBDIR", LIBDIR },
{ "GAMESDIR", GAMESDIR },
{ "ICONSDIR", ICONSDIR },
{ "ICONSDIR_VAR", ICONSDIR_VAR },
{ "LOCALEDIR", LOCALEDIR },
{ "LOCALEDIR_VAR", LOCALEDIR_VAR },
{ "PLUGINDIR", PLUGINDIR },
{ "PLUGINDIR_MNT", PLUGINDIR_MNT },
{ "PLUGINDIR_VAR", PLUGINDIR_VAR },
{ "LUAPLUGINDIR", LUAPLUGINDIR },
{ "LUAPLUGINDIR_VAR", LUAPLUGINDIR_VAR },
{ "THEMESDIR", THEMESDIR },
{ "THEMESDIR_VAR", THEMESDIR_VAR },
{ "WEBRADIODIR", WEBRADIODIR },
{ "WEBRADIODIR_VAR", WEBRADIODIR_VAR },
{ "WEBTVDIR", WEBTVDIR },
{ "WEBTVDIR_VAR", WEBTVDIR_VAR },
{ "LOGODIR", LOGODIR },
{ "LOGODIR_VAR", LOGODIR_VAR },
{ "PRIVATE_HTTPDDIR", PRIVATE_HTTPDDIR },
{ "PUBLIC_HTTPDDIR", PUBLIC_HTTPDDIR },
{ "HOSTED_HTTPDDIR", HOSTED_HTTPDDIR },
{ "FLAGDIR", FLAGDIR },
{ NULL, 0 }
};
/* list of environment variable arrays to be exported */
lua_envexport e[] =
{
@@ -475,6 +511,26 @@ static void set_lua_variables(lua_State *L)
lua_setglobal(L, e_u[i].name);
i++;
}
lua_envexport_s e_s[] =
{
{ "DIR", directories },
{ NULL, NULL }
};
i = 0;
while (e_s[i].name) {
int j = 0;
lua_newtable(L);
while (e_s[i].t[j].name) {
lua_pushstring(L, e_s[i].t[j].name);
lua_pushstring(L, e_s[i].t[j].code);
lua_settable(L, -3);
j++;
}
lua_setglobal(L, e_s[i].name);
i++;
}
}
const char CLuaInstance::className[] = LUA_CLASSNAME;