Fix some end-of-file simple TSV parsing

This commit is contained in:
Nathan McRae 2024-03-09 09:57:56 -08:00
parent 4148475031
commit 203458fdf7

View File

@ -1033,13 +1033,20 @@ public class SaneTsv
fields.Add(fieldBytes.ToArray()); 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"); throw new Exception("Found 0 fields on last line. Possibly because of extra \\n after last record");
} }
if (numFields != fields.Count) 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 else
{ {