From 5ae6aa8f58bdaf887f3b419c31a69435d5fb0a02 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Thu, 20 Jan 2011 19:28:29 +0000 Subject: fixed m3u parsing git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2021 90c681e8-e032-0410-971d-27865f9a5e38 --- .../PlaylistFormats/m3u/m3uplaylistformat.cpp | 39 ++++++++-------------- 1 file changed, 14 insertions(+), 25 deletions(-) (limited to 'src/plugins') diff --git a/src/plugins/PlaylistFormats/m3u/m3uplaylistformat.cpp b/src/plugins/PlaylistFormats/m3u/m3uplaylistformat.cpp index ce126384a..314982c29 100644 --- a/src/plugins/PlaylistFormats/m3u/m3uplaylistformat.cpp +++ b/src/plugins/PlaylistFormats/m3u/m3uplaylistformat.cpp @@ -20,16 +20,11 @@ #include #include - #include "m3uplaylistformat.h" -bool M3UPlaylistFormat::hasFormat(const QString & f) +bool M3UPlaylistFormat::hasFormat(const QString &f) { - foreach(QString s,m_supported_formats) - if (f == s) - return true; - - return false; + return m_supported_formats.contains(f); } QStringList M3UPlaylistFormat::getExtensions() const @@ -46,26 +41,20 @@ QStringList M3UPlaylistFormat::decode(const QString & contents) { QStringList out; QStringList splitted = contents.split("\n"); - if (!splitted.isEmpty()) + if(splitted.isEmpty()) + return QStringList(); + + foreach(QString str, splitted) { - foreach(QString str, splitted) - { - str = str.trimmed (); - if (str.startsWith("#EXTM3U") || str.startsWith("#EXTINF:") || str.isEmpty()) - ;//TODO: Let's skip it for now... - else if (str.startsWith("http://")) - out << str; - else if (!str.startsWith("#")) - out << str; - else - qWarning("File %s does not exist", qPrintable(str)); - } - return out; + str = str.trimmed (); + if (str.startsWith("#EXTM3U") || str.startsWith("#EXTINF:") || str.isEmpty()) + continue;//TODO: Let's skip it for now.. + else if (str.startsWith("#") || str.isEmpty()) + continue; + else + out << str; } - else - qWarning("Error parsing M3U format"); - - return QStringList(); + return out; } QString M3UPlaylistFormat::encode(const QList & contents) -- cgit v1.2.3-13-gbd6f