]> sigrok.org Git - libsigrok.git/commit
input/vcd: do propagate parse error in file header
authorGerhard Sittig <redacted>
Sun, 21 Aug 2022 07:57:24 +0000 (09:57 +0200)
committerGerhard Sittig <redacted>
Thu, 25 Aug 2022 17:06:35 +0000 (19:06 +0200)
commit93a28f0b0270d79ddfd52f3cd3f0ad190697fd92
tree91d2863a262cd8deb5eea71e5a917e829415e60d
parenta5346baf78a04f0a749dca9669ebc1f4331db3f7
input/vcd: do propagate parse error in file header

The vcd input module's parse_header() routine used the 'status' variable
in inappropriate ways. It was preset to false, then raised when the end
of the header was seen, and lowered when parse errors occurred. This made
parse errors go unnoticed because the flag always was raised at the end
of the header. The issue was introduced in commit 0ab36d2f5448.

Separate the "header seen" from "header valid" aspects. The "header seen"
is needed for loop control including resource management. The "valid" is
needed to propagate errors should they have happened at any time during
parsing.

Also adjust the process_buffer() and end() routines to cease processing
the input file's content after header parsing failed earlier. Which
addresses bug #1758 for VCD.
src/input/vcd.c