aboutsummaryrefslogtreecommitdiff
path: root/src/csv_parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/csv_parser.c')
-rw-r--r--src/csv_parser.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/csv_parser.c b/src/csv_parser.c
index 29f0529..b93713a 100644
--- a/src/csv_parser.c
+++ b/src/csv_parser.c
@@ -96,6 +96,7 @@ size_t csv_parser_execute(csv_parser_t *parser,
parser->row,
parser->col);
if (r) {
+ parser->state = csvps_error;
return parser->nread;
}
}
@@ -112,6 +113,7 @@ size_t csv_parser_execute(csv_parser_t *parser,
parser->row,
parser->col);
if (r) {
+ parser->state = csvps_error;
return parser->nread;
}
}
@@ -129,6 +131,7 @@ size_t csv_parser_execute(csv_parser_t *parser,
parser->row,
parser->col);
if (r) {
+ parser->state = csvps_error;
return parser->nread;
}
}
@@ -142,6 +145,9 @@ size_t csv_parser_execute(csv_parser_t *parser,
parser->state = csvps_line_start;
}
break;
+ case csvps_error:
+ return parser->nread;
+ break;
default:
assert(0 && "invalid parser state");
break;