]> sigrok.org Git - libsigrok.git/commitdiff
input/csv: Re-order processing steps (column mode vs text line split)
authorGerhard Sittig <redacted>
Mon, 5 Jun 2017 11:34:05 +0000 (13:34 +0200)
committerUwe Hermann <redacted>
Tue, 6 Jun 2017 17:00:14 +0000 (19:00 +0200)
Move an independent test for single/multi column operation out of a code
path that checked for and then processed text lines. This commit does
not change behaviour, but prepares a subsequent commit.

src/input/csv.c

index fa1d51fd05a787ca7a7241f263308d2f9170137e..5585b0eeacc07247aca5a34056d475cbf4c4a298 100644 (file)
@@ -638,6 +638,12 @@ static int process_buffer(struct sr_input *in)
                inc->started = TRUE;
        }
 
+       /* Limit the number of columns to parse. */
+       if (inc->multi_column_mode)
+               max_columns = inc->num_channels;
+       else
+               max_columns = 1;
+
        p = g_strrstr_len(in->buf->str, in->buf->len, inc->termination);
        if (!p)
                /* Don't have a full line. */
@@ -646,12 +652,6 @@ static int process_buffer(struct sr_input *in)
        *p = '\0';
        g_strstrip(in->buf->str);
 
-       /* Limit the number of columns to parse. */
-       if (inc->multi_column_mode)
-               max_columns = inc->num_channels;
-       else
-               max_columns = 1;
-
        ret = SR_OK;
        lines = g_strsplit_set(in->buf->str, delim_set, 0);
        for (l = 0; lines[l]; l++) {