diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-10-30 02:36:38 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-10-30 02:36:38 -0400 |
| commit | 3c305512c054527fb8fe1629d6aabb7e0009bc38 (patch) | |
| tree | 90e264fa3d790fbcd21ba9565219c467fd8faf68 /OpenSubtitlesHandler/XML-RPC/XmlRpcGenerator.cs | |
| parent | b5673f4e16ca6c05b2efe47b1f18804253fd0f43 (diff) | |
update opensubtitles portable targeting
Diffstat (limited to 'OpenSubtitlesHandler/XML-RPC/XmlRpcGenerator.cs')
| -rw-r--r-- | OpenSubtitlesHandler/XML-RPC/XmlRpcGenerator.cs | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/OpenSubtitlesHandler/XML-RPC/XmlRpcGenerator.cs b/OpenSubtitlesHandler/XML-RPC/XmlRpcGenerator.cs index 61870a6c6..06fc945a8 100644 --- a/OpenSubtitlesHandler/XML-RPC/XmlRpcGenerator.cs +++ b/OpenSubtitlesHandler/XML-RPC/XmlRpcGenerator.cs @@ -22,6 +22,8 @@ using System.Text; using System.Collections.Generic; using System.IO; using System.Xml; +using OpenSubtitlesHandler; + namespace XmlRpcHandler { /// <summary> @@ -103,26 +105,33 @@ namespace XmlRpcHandler XmlReaderSettings sett = new XmlReaderSettings(); sett.DtdProcessing = DtdProcessing.Ignore; sett.IgnoreWhitespace = true; - MemoryStream str = new MemoryStream(Encoding.ASCII.GetBytes(xmlResponse)); + MemoryStream str; if (xmlResponse.Contains(@"encoding=""utf-8""")) { str = new MemoryStream(Encoding.UTF8.GetBytes(xmlResponse)); } - using (XmlReader XMLread = XmlReader.Create(str, sett)) + else + { + str = new MemoryStream(Utilities.GetASCIIBytes(xmlResponse)); + } + using (str) { - XmlRpcMethodCall call = new XmlRpcMethodCall("methodResponse"); - // Read parameters - while (XMLread.Read()) + using (XmlReader XMLread = XmlReader.Create(str, sett)) { - if (XMLread.Name == "param" && XMLread.IsStartElement()) + XmlRpcMethodCall call = new XmlRpcMethodCall("methodResponse"); + // Read parameters + while (XMLread.Read()) { - IXmlRpcValue val = ReadValue(XMLread); - if (val != null) - call.Parameters.Add(val); + if (XMLread.Name == "param" && XMLread.IsStartElement()) + { + IXmlRpcValue val = ReadValue(XMLread); + if (val != null) + call.Parameters.Add(val); + } } + methods.Add(call); + return methods.ToArray(); } - methods.Add(call); - return methods.ToArray(); } } |
