]> sigrok.org Git - libsigrok.git/commitdiff
input/csv: Concentrate text line encoding in a single spot
authorGerhard Sittig <redacted>
Mon, 5 Jun 2017 11:09:16 +0000 (13:09 +0200)
committerUwe Hermann <redacted>
Tue, 6 Jun 2017 17:00:14 +0000 (19:00 +0200)
Factor out a magic string literal which held a delimiter set yet could
be mistaken for an (assumed) fixed termination string. Concentrate the
determination of the end-of-line text encoding as well as the resulting
set of possible deliminters in one nearby location. The symbolic name
for the delimiter set eliminates the doubt on its purpose.

src/input/csv.c

index db6f46767e9688a5eb8c4483f1d693f00a9c6542..fa1d51fd05a787ca7a7241f263308d2f9170137e 100644 (file)
@@ -447,6 +447,8 @@ static int init(struct sr_input *in, GHashTable *options)
        return SR_OK;
 }
 
+static const char *delim_set = "\r\n";
+
 static const char *get_line_termination(GString *buf)
 {
        const char *term;
@@ -476,7 +478,7 @@ static int initial_parse(const struct sr_input *in, GString *buf)
        columns = NULL;
 
        line_number = 0;
-       lines = g_strsplit_set(buf->str, "\r\n", 0);
+       lines = g_strsplit_set(buf->str, delim_set, 0);
        for (l = 0; lines[l]; l++) {
                line_number++;
                line = lines[l];
@@ -651,7 +653,7 @@ static int process_buffer(struct sr_input *in)
                max_columns = 1;
 
        ret = SR_OK;
-       lines = g_strsplit_set(in->buf->str, "\r\n", 0);
+       lines = g_strsplit_set(in->buf->str, delim_set, 0);
        for (l = 0; lines[l]; l++) {
                inc->line_number++;
                line = lines[l];