From a721dac6012d33b3ab2650a7ead69d87a980bcc1 Mon Sep 17 00:00:00 2001 From: wm4 Date: Sat, 23 Dec 2017 21:18:13 +0100 Subject: player: make track language matching case insensitive There is no reason not to do this, and probably saves the user some trouble. Mostly untested. Closes #5272. --- player/external_files.c | 2 +- player/loadfile.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'player') diff --git a/player/external_files.c b/player/external_files.c index bc82e94e4f..4798439e3e 100644 --- a/player/external_files.c +++ b/player/external_files.c @@ -176,7 +176,7 @@ static void append_dir_subtitles(struct mpv_global *global, if (bstr_startswith(tmp_fname_trim, f_fname_trim)) lang = guess_lang_from_filename(tmp_fname_trim); for (int n = 0; langs && langs[n]; n++) { - if (lang.len && bstr_startswith0(lang, langs[n])) { + if (lang.len && bstr_case_startswith(lang, bstr0(langs[n]))) { prio = 4; // matches the movie name + lang extension break; } diff --git a/player/loadfile.c b/player/loadfile.c index ff401cd590..8139c06f3f 100644 --- a/player/loadfile.c +++ b/player/loadfile.c @@ -296,7 +296,7 @@ void add_demuxer_tracks(struct MPContext *mpctx, struct demuxer *demuxer) static int match_lang(char **langs, char *lang) { for (int idx = 0; langs && langs[idx]; idx++) { - if (lang && strcmp(langs[idx], lang) == 0) + if (lang && strcasecmp(langs[idx], lang) == 0) return INT_MAX - idx; } return 0; -- cgit v1.2.3