]> sigrok.org Git - libsigrok.git/commit
input/csv: improve reliabilty of text line isolation
authorGerhard Sittig <redacted>
Sat, 19 Oct 2019 09:47:45 +0000 (11:47 +0200)
committerGerhard Sittig <redacted>
Sat, 21 Dec 2019 17:20:04 +0000 (18:20 +0100)
commitfbefa03f58e9fa6be58024e4df913602a4eb8ab5
tree7e4353cdc0f47b8eba00cb2aaf181c2be2631e8d
parentcb3b80512e7c7cf44797f4a38998fda0a8fc93f5
input/csv: improve reliabilty of text line isolation

Slightly unobfuscate the "end of current input chunk" marker in the data
processing loop. Make the variable's identifier reflect that it's not a
temporary, but instead something worth keeping around until needed again.

Unbreak the calculation of line numbers in those situations where input
chunks (including previously accumulated unprocessed data) happens to
start with a line termination. This covers input files which start with
empty lines, as well as environments with mutli-byte line termination
sequences (CR/LF) and arbitrary distribution of bytes across chunks.

This fixes bug #968.

Accept when there is no line termination in the current input chunk. We
cannot assume that calling applications always provide file content in
large enough chunks to span complete lines. And any arbitrary chunk size
which applications happen to use can get exceeded by input files (e.g.
for generated files with wide data or long comments).
src/input/csv.c