aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schmucker <ts@its1.de>2020-06-24 16:01:57 +0200
committerThomas Schmucker <ts@its1.de>2020-06-24 16:01:57 +0200
commit2f6e28efcc02a3f5096ef0d321d7d9b70486780c (patch)
treec2496243b8a11ad941b7481f1ee1842f08a0a7e9
parented5b0c5a17a781db78a3c902ac867ee9a5df2761 (diff)
downloadlibcsv-2f6e28efcc02a3f5096ef0d321d7d9b70486780c.tar.gz
libcsv-2f6e28efcc02a3f5096ef0d321d7d9b70486780c.tar.bz2
libcsv-2f6e28efcc02a3f5096ef0d321d7d9b70486780c.zip
fix: reorder code. feof() returns EOF, even when a read-error occurs
-rw-r--r--csv.c8
1 files 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)
269 csv_init(csv); 269 csv_init(csv);
270 } 270 }
271 271
272 if ( ferror(in) ) {
273 csv_fatal_error(CSV_ERR_IO_READ, csv->csv_options);
274 }
275
272 // do not try to read if EOF has already been seen 276 // do not try to read if EOF has already been seen
273 if ( feof(in) ) { 277 if ( feof(in) ) {
274 csv_cleanup(csv); 278 csv_cleanup(csv);
275 return -1; 279 return -1;
276 } 280 }
277 281
278 if ( ferror(in) ) {
279 csv_fatal_error(CSV_ERR_IO_READ, csv->csv_options);
280 }
281
282 enum { 282 enum {
283 STATE_START_FIELD, 283 STATE_START_FIELD,
284 STATE_QUOTED_FIELD, 284 STATE_QUOTED_FIELD,