aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTadas Vilkeliskis <vilkeliskis.t@gmail.com>2026-06-11 10:11:48 -0400
committerTadas Vilkeliskis <vilkeliskis.t@gmail.com>2026-06-11 10:11:48 -0400
commit0528c6e5fa65953da71b95e41ea38b0554b4c2e0 (patch)
treee26228cc8a131513a4390fdb9c6c436ff139d995
parentac5f6c3a8de0bd94d1d62e946ec0de8bcafff098 (diff)
examples: add error checking to parser.c
-rw-r--r--examples/parser.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/examples/parser.c b/examples/parser.c
index 5666f5e..49d73f6 100644
--- a/examples/parser.c
+++ b/examples/parser.c
@@ -80,8 +80,14 @@ int main(int argc, const char *argv[])
while ((nread = read(fd, buffer, sizeof(buffer))) > 0) {
csv_parser_execute(&parser, &settings, buffer, nread);
+ if (parser.state == csvps_error) {
+ fprintf(stderr, "Error: Malformed CSV data detected at row %d, col %d.\n", parser.row, parser.col);
+ break;
+ }
+ }
+ if (parser.state != csvps_error) {
+ csv_parser_finish(&parser, &settings);
}
- csv_parser_finish(&parser, &settings);
close(fd);