diff options
author | Guido Cella <guido@guidocella.xyz> | 2024-02-14 00:10:42 +0100 |
---|---|---|
committer | Dudemanguy <random342@airmail.cc> | 2024-02-24 05:26:48 +0000 |
commit | 8cd678bfe4c8cd6ed1d4d4ef7d14295772c31106 (patch) | |
tree | 17db20bbca5c547f09c1c23c53cc7d4f726524ff /player/configfiles.c | |
parent | 81506828141481c92652987264def1f3f9a262fc (diff) | |
download | mpv-8cd678bfe4c8cd6ed1d4d4ef7d14295772c31106.tar.bz2 mpv-8cd678bfe4c8cd6ed1d4d4ef7d14295772c31106.tar.xz |
player: fix watch later config comments when ignoring path
With --ignore-path-in-watch-later-config,
--write-filename-in-watch-later-config still writes the absolute path of
files in the comment, even though the hash is calculated from the
basename. Make it write the basename to avoid confusion.
Also stop writing redirect entries for parent directories with
--ignore-path-in-watch-later-config, both because it's redundant, and
because with this patch it would write the basename of directories in
the comment, which would be wrong because their hashes are calculated
from the absolute paths.
Diffstat (limited to 'player/configfiles.c')
-rw-r--r-- | player/configfiles.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/player/configfiles.c b/player/configfiles.c index 9441638264..2b94308baa 100644 --- a/player/configfiles.c +++ b/player/configfiles.c @@ -251,6 +251,9 @@ static bool needs_config_quoting(const char *s) static void write_filename(struct MPContext *mpctx, FILE *file, char *filename) { + if (mpctx->opts->ignore_path_in_watch_later_config && !mp_is_url(bstr0(filename))) + filename = mp_basename(filename); + if (mpctx->opts->write_filename_in_watch_later_config) { char write_name[1024] = {0}; for (int n = 0; filename[n] && n < sizeof(write_name) - 1; n++) @@ -280,7 +283,7 @@ static void write_redirect(struct MPContext *mpctx, char *path) static void write_redirects_for_parent_dirs(struct MPContext *mpctx, char *path) { - if (mp_is_url(bstr0(path))) + if (mp_is_url(bstr0(path)) || mpctx->opts->ignore_path_in_watch_later_config) return; // Write redirect entries for the file's parent directories to allow @@ -403,7 +406,7 @@ void mp_delete_watch_later_conf(struct MPContext *mpctx, const char *file) talloc_free(fname); } - if (mp_is_url(bstr0(file))) + if (mp_is_url(bstr0(file)) || mpctx->opts->ignore_path_in_watch_later_config) return; void *ctx = talloc_new(NULL); |