diff options
author | Ricardo Constantino <wiiaboo@gmail.com> | 2017-06-30 14:53:33 +0100 |
---|---|---|
committer | Ricardo Constantino <wiiaboo@gmail.com> | 2017-06-30 15:03:10 +0100 |
commit | c1f46dbbe9a9b2d1ae6694118244bea8859ab2f0 (patch) | |
tree | 0a32902bbd9560fa6b941f9e46a12d81b1ed781c /player | |
parent | ba8160cf59e4c13c6619c131ae14b29046eb212c (diff) | |
download | mpv-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)
Diffstat (limited to 'player')
-rw-r--r-- | player/command.c | 2 | ||||
-rw-r--r-- | player/core.h | 1 | ||||
-rw-r--r-- | player/scripting.c | 15 |
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; |