diff options
author | Ben Harris <ben@tilde.team> | 2020-04-28 21:07:23 -0400 |
---|---|---|
committer | Ben Harris <ben@tilde.team> | 2020-04-28 21:07:23 -0400 |
commit | 8403fd8d0fb0ac3c69e90f530fda331ea2ab639b (patch) | |
tree | 6504febcc485c6335b8cf5e333fa0437229b0704 /IrcTokens/StatefulDecoder.cs | |
parent | 6a0b8dc22fc86a5de37278231f3f8418afc9b836 (diff) |
Fix example
Diffstat (limited to 'IrcTokens/StatefulDecoder.cs')
-rw-r--r-- | IrcTokens/StatefulDecoder.cs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/IrcTokens/StatefulDecoder.cs b/IrcTokens/StatefulDecoder.cs index 62d1703..b2bad5e 100644 --- a/IrcTokens/StatefulDecoder.cs +++ b/IrcTokens/StatefulDecoder.cs @@ -49,14 +49,15 @@ namespace IrcTokens public List<Line> Push(string data) { - return Push(Encoding.GetBytes(data)); + var bytes = Encoding.GetBytes(data); + return Push(bytes, bytes.Length); } - public List<Line> Push(byte[] data) + public List<Line> Push(byte[] data, int bytesReceived) { - if (data == null || data.Length == 0) return null; + if (data == null) return null; - _buffer = _buffer == null ? Array.Empty<byte>() : _buffer.Concat(data).ToArray(); + _buffer = _buffer == null ? Array.Empty<byte>() : _buffer.Concat(data.Take(bytesReceived)).ToArray(); var listLines = _buffer.Split((byte) '\n').Select(l => l.Trim((byte) '\r')).ToList(); _buffer = listLines.Last(); |