blob: 65dd3deb2470a778e310798a435b08d29913261e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace IrcTokens
{
public class StatefulDecoder
{
private string _buffer;
public EncodingInfo Encoding { get; set; }
public EncodingInfo Fallback { get; set; }
public string Pending => _buffer;
public void Clear()
{
_buffer = "";
}
public List<Line> Push(string data)
{
if (string.IsNullOrEmpty(data))
return null;
_buffer += data;
return _buffer
.Split('\n')
.Select(l => l.TrimEnd('\r'))
.Select(l => new Line(l))
.ToList();
}
}
}
|