Skip to content

Commit

Permalink
Handle empty lines in parsecsv
Browse files Browse the repository at this point in the history
Closes #8365
  • Loading branch information
Federico Ceratto committed Oct 12, 2018
1 parent 7f18d7c commit 7c8e3a6
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion lib/pure/parsecsv.nim
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,9 @@ proc readRow*(my: var CsvParser, columns = 0): bool =
## Blank lines are skipped.
var col = 0 # current column
let oldpos = my.bufpos
while my.buf[my.bufpos] == '\c' or my.buf[my.bufpos] == '\l':
# skip initial empty lines
inc(my.bufpos)
while my.buf[my.bufpos] != '\0':
let oldlen = my.row.len
if oldlen < col+1:
Expand Down Expand Up @@ -235,7 +238,7 @@ when isMainModule:
import os
import strutils
block: # Tests for reading the header row
let content = "One,Two,Three,Four\n1,2,3,4\n10,20,30,40,\n100,200,300,400\n"
let content = "\nOne,Two,Three,Four\n1,2,3,4\n10,20,30,40,\n100,200,300,400\n"
writeFile("temp.csv", content)

var p: CsvParser
Expand Down

0 comments on commit 7c8e3a6

Please sign in to comment.