mirror of
https://anongit.gentoo.org/git/repo/gentoo.git
synced 2025-06-09 14:44:11 +02:00
Closes: https://bugs.gentoo.org/849332 Closes: https://bugs.gentoo.org/885883 Closes: https://bugs.gentoo.org/900258 Closes: https://bugs.gentoo.org/926211 Signed-off-by: David Seifert <soap@gentoo.org>
40 lines
1.3 KiB
Diff
40 lines
1.3 KiB
Diff
--- a/src/plugins/shoutcast/shoutcast.c
|
|
+++ b/src/plugins/shoutcast/shoutcast.c
|
|
@@ -94,6 +94,8 @@
|
|
|
|
GNode *parent_node;
|
|
SHOUTcastStream *stream;
|
|
+
|
|
+ int parse_genres;
|
|
} ReloadInfo;
|
|
|
|
/*** variable declarations ***************************************************/
|
|
@@ -518,6 +520,7 @@
|
|
info.npages = 0;
|
|
info.parent_node = NULL;
|
|
info.stream = NULL;
|
|
+ info.parse_genres = 0;
|
|
|
|
status = st_transfer_session_get_by_line(session,
|
|
url,
|
|
@@ -565,10 +568,16 @@
|
|
info->stream = stream_new_cb(NULL);
|
|
info->stream->url_postfix = st_sgml_ref_expand_len(s1, s2 - s1);
|
|
}
|
|
- else if (info->page < 2
|
|
- && (((s1 = st_str_has_prefix_span(line, "\t<OPTION VALUE=\""))
|
|
- || (s1 = st_str_has_prefix_span(line, "\t\t<OPTION VALUE=\"")))
|
|
- && (s2 = strstr(s1, "\">"))))
|
|
+ else if (info->page < 2 && (s1 = st_strstr_span(line, "<OPTION VALUE=\"TopTen\">")))
|
|
+ {
|
|
+ info->parse_genres = 1;
|
|
+ }
|
|
+ else if (info->page < 2 && info->parse_genres == 1 && (s1 = st_strstr_span(line, "</SELECT>")))
|
|
+ {
|
|
+ info->parse_genres = 0;
|
|
+ }
|
|
+ else if (info->page < 2 && info->parse_genres == 1
|
|
+ && ((s1 = st_strstr_span(line, "<OPTION VALUE=\"")) && (s2 = strstr(s1, "\">"))))
|
|
{
|
|
STCategory *category;
|
|
GNode *node;
|