lyrics: check if data returned by curl contains opening and closing tag

This commit is contained in:
Andrzej Rybczak
2009-09-26 22:20:05 +02:00
parent dca6642a7f
commit c7c6b2c321

View File

@@ -235,11 +235,20 @@ void *Lyrics::Get(void *screen_void_ptr)
} }
size_t a, b; size_t a, b;
a = result.find(my_lyrics->tag_open)+strlen(my_lyrics->tag_open); bool parse_failed = 0;
b = result.find(my_lyrics->tag_close, a);
result = result.substr(a, b-a);
if (my_lyrics->not_found(result)) if ((a = result.find(my_lyrics->tag_open)) != std::string::npos)
{
a += strlen(my_lyrics->tag_open);
if ((b = result.find(my_lyrics->tag_close, a)) != std::string::npos)
result = result.substr(a, b-a);
else
parse_failed = 1;
}
else
parse_failed = 1;
if (parse_failed || my_lyrics->not_found(result))
{ {
*screen->w << "Not found"; *screen->w << "Not found";
Ready = 1; Ready = 1;