From 2f6e28efcc02a3f5096ef0d321d7d9b70486780c Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Wed, 24 Jun 2020 16:01:57 +0200 Subject: fix: reorder code. feof() returns EOF, even when a read-error occurs --- csv.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/csv.c b/csv.c index 49e1c02..ac51a56 100644 --- a/csv.c +++ b/csv.c @@ -269,16 +269,16 @@ csv_read(csv_t *csv, FILE *in) csv_init(csv); } + if ( ferror(in) ) { + csv_fatal_error(CSV_ERR_IO_READ, csv->csv_options); + } + // do not try to read if EOF has already been seen if ( feof(in) ) { csv_cleanup(csv); return -1; } - if ( ferror(in) ) { - csv_fatal_error(CSV_ERR_IO_READ, csv->csv_options); - } - enum { STATE_START_FIELD, STATE_QUOTED_FIELD, -- cgit v1.3