]> sigrok.org Git - libsigrok.git/commitdiff
input/csv: improve cleanup code path, unbreak re-import
authorGerhard Sittig <redacted>
Sun, 28 Oct 2018 08:36:11 +0000 (09:36 +0100)
committerGerhard Sittig <redacted>
Sat, 21 Dec 2019 17:20:04 +0000 (18:20 +0100)
The cleanup() routine gets invoked upon shutdown, as well as before
re-importing another file. The cleanup() routine must not release
resources which get allocated in the init() routine, as the init()
routine won't run again in the module's lifetime. The cleanup() routine
must void those context fields which get evaluated in the next receive()
calls.

src/input/csv.c

index fdfc26419ae7e44e910549dafc4f8067cc985d40..2fa6704dc206d623b1bbb99de065a1395649cb35 100644 (file)
@@ -889,14 +889,10 @@ static void cleanup(struct sr_input *in)
 
        inc = in->priv;
 
-       if (inc->delimiter)
-               g_string_free(inc->delimiter, TRUE);
-
-       if (inc->comment)
-               g_string_free(inc->comment, TRUE);
-
        g_free(inc->termination);
+       inc->termination = NULL;
        g_free(inc->datafeed_buffer);
+       inc->datafeed_buffer = NULL;
 }
 
 static int reset(struct sr_input *in)