diff --git a/SaneTsv.cs b/SaneTsv.cs index 25ef493..9cacc17 100644 --- a/SaneTsv.cs +++ b/SaneTsv.cs @@ -1033,13 +1033,20 @@ public class SaneTsv fields.Add(fieldBytes.ToArray()); - if (fields.Count == 0) + if (fields.Count == 0 && endIndex == inputBuffer.Length) { throw new Exception("Found 0 fields on last line. Possibly because of extra \\n after last record"); } if (numFields != fields.Count) { - throw new Exception($"Expected {numFields} fields on line {line}, but found {fields.Count}"); + if (endIndex == inputBuffer.Length) + { + throw new Exception($"Expected {numFields} fields on line {line}, but found {fields.Count}"); + } + else + { + return records.ToArray(); + } } else {