From 95ceddb7d9c817f2e9233bd5116e7cb8ee76fc49 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 14 Jan 2017 14:57:08 -0500 Subject: update m3uparser --- .../LiveTv/TunerHosts/M3uParser.cs | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'Emby.Server.Implementations') diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs index 5be94b507..06a7a0c2d 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs @@ -14,6 +14,7 @@ using MediaBrowser.Controller; using MediaBrowser.Controller.IO; using MediaBrowser.Controller.LiveTv; using MediaBrowser.Model.Logging; +using MediaBrowser.Model.Extensions; namespace Emby.Server.Implementations.LiveTv.TunerHosts { @@ -273,20 +274,18 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts var reg = new Regex(@"([a-z0-9\-_]+)=\""([^""]+)\""", RegexOptions.IgnoreCase); var matches = reg.Matches(line); - var minIndex = int.MaxValue; + + remaining = line; + foreach (Match match in matches) { - dict[match.Groups[1].Value] = match.Groups[2].Value; - minIndex = Math.Min(minIndex, match.Index); - } + var key = match.Groups[1].Value; + var value = match.Groups[2].Value; - if (minIndex > 0 && minIndex < line.Length) - { - line = line.Substring(0, minIndex); + dict[match.Groups[1].Value] = match.Groups[2].Value; + remaining = remaining.Replace(key + "=\"" + value + "\"", string.Empty, StringComparison.OrdinalIgnoreCase); } - remaining = line; - return dict; } } -- cgit v1.2.3