js: add mp.utils.get_env_list() (match 0e7f53a5, 9301cb78)

This commit is contained in:
Avi Halachmi (:avih) 2020-07-26 01:22:26 +03:00
parent 9301cb78a8
commit b5368980a8
2 changed files with 15 additions and 0 deletions

View File

@ -189,6 +189,8 @@ success, ``fn`` is called always a-sync, ``error`` is empty string on success.
``mp.utils.subprocess_detached(t)`` ``mp.utils.subprocess_detached(t)``
``mp.utils.get_env_list()``
``mp.utils.getpid()`` (LE) ``mp.utils.getpid()`` (LE)
``mp.add_hook(type, priority, fn)`` ``mp.add_hook(type, priority, fn)``

View File

@ -47,6 +47,8 @@
#include "client.h" #include "client.h"
#include "libmpv/client.h" #include "libmpv/client.h"
extern char **environ;
// List of builtin modules and their contents as strings. // List of builtin modules and their contents as strings.
// All these are generated from player/javascript/*.js // All these are generated from player/javascript/*.js
static const char *const builtin_files[][3] = { static const char *const builtin_files[][3] = {
@ -939,6 +941,16 @@ static void script_getenv(js_State *J)
} }
} }
// args: none
static void script_get_env_list(js_State *J)
{
js_newarray(J);
for (int n = 0; environ && environ[n]; n++) {
js_pushstring(J, environ[n]);
js_setindex(J, -2, n);
}
}
// args: as-filename, content-string, returns the compiled result as a function // args: as-filename, content-string, returns the compiled result as a function
static void script_compile_js(js_State *J) static void script_compile_js(js_State *J)
{ {
@ -1149,6 +1161,7 @@ static const struct fn_entry utils_fns[] = {
AF_ENTRY(join_path, 2), AF_ENTRY(join_path, 2),
AF_ENTRY(get_user_path, 1), AF_ENTRY(get_user_path, 1),
FN_ENTRY(getpid, 0), FN_ENTRY(getpid, 0),
FN_ENTRY(get_env_list, 0),
FN_ENTRY(read_file, 2), FN_ENTRY(read_file, 2),
AF_ENTRY(write_file, 2), AF_ENTRY(write_file, 2),