Skip to content

Commit

Permalink
Error When Loading Empty CSV File
Browse files Browse the repository at this point in the history
Return an error when `load\csv` reads an empty file.  Fixes panic in
this scenario.
  • Loading branch information
cwarden committed Aug 6, 2024
1 parent 51b57bc commit 5cf6fb3
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 0 deletions.
3 changes: 3 additions & 0 deletions evaldo/builtins_spreadsheet.go
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,9 @@ var Builtins_spreadsheet = map[string]*env.Builtin{
// log.Fatal("Unable to parse file as CSV for "+filePath, err)
return MakeBuiltinError(ps, "Unable to parse file as CSV.", "load\\csv")
}
if len(rows) == 0 {
return MakeBuiltinError(ps, "File is empty", "load\\csv")
}
spr := env.NewSpreadsheet(rows[0])
// for i, row := range rows {
// if i > 0 {
Expand Down
6 changes: 6 additions & 0 deletions tests/structures.rye
Original file line number Diff line number Diff line change
Expand Up @@ -567,6 +567,12 @@ section "Serializers and loaders"
equal { load "1 2 { print 4 }" |third |first |type? } 'word
}

group "load\csv"
mold\nowrap ?load\csv
{ { block } }
{
equal { try { load\csv file:///dev/null } |type? } 'error
}

}

Expand Down

0 comments on commit 5cf6fb3

Please sign in to comment.