summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/man/javascript.rst3
-rw-r--r--player/javascript.c7
2 files changed, 8 insertions, 2 deletions
diff --git a/DOCS/man/javascript.rst b/DOCS/man/javascript.rst
index 0c099cad0a..74282250b6 100644
--- a/DOCS/man/javascript.rst
+++ b/DOCS/man/javascript.rst
@@ -196,7 +196,8 @@ Additional utilities
Like ``print`` but also expands objects and arrays recursively.
``mp.utils.getenv(name)``
- Returns the value of the host environment variable ``name``, or empty str.
+ Returns the value of the host environment variable ``name``, or
+ ``undefined`` if the variable is not defined.
``mp.utils.get_user_path(path)``
Expands (mpv) meta paths like ``~/x``, ``~~/y``, ``~~desktop/z`` etc.
diff --git a/player/javascript.c b/player/javascript.c
index b00e4eda64..abb1581f86 100644
--- a/player/javascript.c
+++ b/player/javascript.c
@@ -981,7 +981,12 @@ static void script_write_file(js_State *J, void *af)
// args: env var name
static void script_getenv(js_State *J)
{
- js_pushstring(J, getenv(js_tostring(J, 1)));
+ const char *v = getenv(js_tostring(J, 1));
+ if (v) {
+ js_pushstring(J, v);
+ } else {
+ js_pushundefined(J);
+ }
}
// args: as-filename, content-string, returns the compiled result as a function