aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Transports
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2016-05-16 10:44:24 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2016-05-16 10:44:24 +0000
commit61795f7dc3aff2ec8eb4d73292b6584a4dedd4b0 (patch)
tree0723d67e5a7cc65fe53d683bdb00dc1cc62632aa /src/plugins/Transports
parentf94f4b212e2d9e89802a235b4682e380dc93cede (diff)
downloadqmmp-61795f7dc3aff2ec8eb4d73292b6584a4dedd4b0.tar.gz
qmmp-61795f7dc3aff2ec8eb4d73292b6584a4dedd4b0.tar.bz2
qmmp-61795f7dc3aff2ec8eb4d73292b6584a4dedd4b0.zip
curl: using previous encoding if current encoding is not detected
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@6351 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Transports')
-rw-r--r--src/plugins/Transports/http/httpstreamreader.cpp7
-rw-r--r--src/plugins/Transports/http/httpstreamreader.h3
2 files changed, 8 insertions, 2 deletions
diff --git a/src/plugins/Transports/http/httpstreamreader.cpp b/src/plugins/Transports/http/httpstreamreader.cpp
index 7d5167244..a667025f8 100644
--- a/src/plugins/Transports/http/httpstreamreader.cpp
+++ b/src/plugins/Transports/http/httpstreamreader.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2015 by Ilya Kotov *
+ * Copyright (C) 2006-2016 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -131,6 +131,7 @@ HttpStreamReader::HttpStreamReader(const QString &url, HTTPInputSource *parent)
m_codec = QTextCodec::codecForName ("UTF-8");
#ifdef WITH_ENCA
m_analyser = 0;
+ m_prevCodec = 0;
if(settings.value("use_enca", false).toBool())
m_analyser = enca_analyser_alloc(settings.value("enca_lang").toByteArray ().constData());
if(m_analyser)
@@ -442,7 +443,11 @@ void HttpStreamReader::parseICYMetaData(char *data, qint64 size)
enca_charset_name(encoding.charset,ENCA_NAME_STYLE_ENCA));
if(!codec)
codec = m_codec;
+
+ m_prevCodec = codec;
}
+ else if(m_prevCodec)
+ codec = m_prevCodec;
}
#endif
QString str = codec->toUnicode(data).trimmed();
diff --git a/src/plugins/Transports/http/httpstreamreader.h b/src/plugins/Transports/http/httpstreamreader.h
index 61ea1be14..0ff615fd5 100644
--- a/src/plugins/Transports/http/httpstreamreader.h
+++ b/src/plugins/Transports/http/httpstreamreader.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2015 by Ilya Kotov *
+ * Copyright (C) 2006-2016 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -110,6 +110,7 @@ private:
HTTPInputSource *m_parent;
#ifdef WITH_ENCA
EncaAnalyser m_analyser;
+ QTextCodec *m_prevCodec;
#endif
};