summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRicardo Constantino <wiiaboo@gmail.com>2017-06-30 14:53:33 +0100
committerRicardo Constantino <wiiaboo@gmail.com>2017-06-30 15:03:10 +0100
commitc1f46dbbe9a9b2d1ae6694118244bea8859ab2f0 (patch)
tree0a32902bbd9560fa6b941f9e46a12d81b1ed781c
parentba8160cf59e4c13c6619c131ae14b29046eb212c (diff)
downloadmpv-c1f46dbbe9a9b2d1ae6694118244bea8859ab2f0.tar.bz2
mpv-c1f46dbbe9a9b2d1ae6694118244bea8859ab2f0.tar.xz
scripting: add wrapper to load scripts with user paths
Fixes regression since b2f756c80e, which broke load-script command when used with user paths (ex: ~~/script.lua)
-rw-r--r--player/command.c2
-rw-r--r--player/core.h1
-rw-r--r--player/scripting.c15
3 files changed, 12 insertions, 6 deletions
diff --git a/player/command.c b/player/command.c
index b83196c677..560fc1dadc 100644
--- a/player/command.c
+++ b/player/command.c
@@ -5643,7 +5643,7 @@ int run_command(struct MPContext *mpctx, struct mp_cmd *cmd, struct mpv_node *re
case MP_CMD_LOAD_SCRIPT: {
char *script = cmd->args[0].v.s;
- if (mp_load_script(mpctx, script) < 0)
+ if (mp_load_user_script(mpctx, script) < 0)
return -1;
break;
}
diff --git a/player/core.h b/player/core.h
index 8af0c38dbd..fbc4b1ec7a 100644
--- a/player/core.h
+++ b/player/core.h
@@ -594,6 +594,7 @@ struct mp_scripting {
void mp_load_scripts(struct MPContext *mpctx);
void mp_load_builtin_scripts(struct MPContext *mpctx);
int mp_load_script(struct MPContext *mpctx, const char *fname);
+int mp_load_user_script(struct MPContext *mpctx, const char *fname);
// sub.c
void reset_subtitle_state(struct MPContext *mpctx);
diff --git a/player/scripting.c b/player/scripting.c
index dc8e7d5b2b..5651950a42 100644
--- a/player/scripting.c
+++ b/player/scripting.c
@@ -155,6 +155,14 @@ int mp_load_script(struct MPContext *mpctx, const char *fname)
return 0;
}
+int mp_load_user_script(struct MPContext *mpctx, const char *fname)
+{
+ char *path = mp_get_user_path(NULL, mpctx->global, fname);
+ int ret = mp_load_script(mpctx, path);
+ talloc_free(path);
+ return ret;
+}
+
static int compare_filename(const void *pa, const void *pb)
{
char *a = (char *)pa;
@@ -219,11 +227,8 @@ void mp_load_scripts(struct MPContext *mpctx)
// Load scripts from options
char **files = mpctx->opts->script_files;
for (int n = 0; files && files[n]; n++) {
- if (files[n][0]) {
- char *path = mp_get_user_path(NULL, mpctx->global, files[n]);
- mp_load_script(mpctx, path);
- talloc_free(path);
- }
+ if (files[n][0])
+ mp_load_user_script(mpctx, files[n]);
}
if (!mpctx->opts->auto_load_scripts)
return;