From: Jaroslav Kysela Date: Thu, 1 Sep 2016 11:41:05 +0000 (+0200) Subject: epg: sort by title and if equal - sort by subtitle X-Git-Tag: v4.2.1~328 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=52a71e78206537e69466723e162a2eaaea3edc8c;p=thirdparty%2Ftvheadend.git epg: sort by title and if equal - sort by subtitle --- diff --git a/src/epg.c b/src/epg.c index aeafe62c5..2e9e0f986 100644 --- a/src/epg.c +++ b/src/epg.c @@ -2718,7 +2718,16 @@ static int _epg_sort_title_ascending ( const void *a, const void *b, void *eq ) if (s1 == NULL && s2 == NULL) return 0; if (s1 == NULL && s2) return 1; if (s1 && s2 == NULL) return -1; - return strcmp(s1, s2); + int r = strcmp(s1, s2); + if (r == 0) { + s1 = epg_broadcast_get_subtitle(*(epg_broadcast_t**)a, ((epg_query_t *)eq)->lang); + s2 = epg_broadcast_get_subtitle(*(epg_broadcast_t**)b, ((epg_query_t *)eq)->lang); + if (s1 == NULL && s2 == NULL) return 0; + if (s1 == NULL && s2) return 1; + if (s1 && s2 == NULL) return -1; + r = strcmp(s1, s2); + } + return r; } static int _epg_sort_title_descending ( const void *a, const void *b, void *eq )