]> sigrok.org Git - libsigrok.git/blobdiff - src/output/srzip.c
strutil: support tera/peta/exa suffixes in symbolic size specs
[libsigrok.git] / src / output / srzip.c
index 249fe057994aeeaf80b9106ae3b041a8c1fb7b5e..84938ad2b741f431117c0a433bf782ed5a9c241f 100644 (file)
@@ -379,12 +379,13 @@ static int zip_append_analog(const struct sr_output *o,
        analogsrc = zip_source_buffer(archive, chunkbuf, chunksize, FALSE);
        chunkname = g_strdup_printf("%s-%u", basename, next_chunk_num);
        i = zip_add(archive, chunkname, analogsrc);
-       g_free(chunkname);
        if (i < 0) {
                sr_err("Failed to add chunk '%s': %s", chunkname, zip_strerror(archive));
+               g_free(chunkname);
                zip_source_free(analogsrc);
                goto err_free_chunkbuf;
        }
+       g_free(chunkname);
        if (zip_close(archive) < 0) {
                sr_err("Error saving session file: %s", zip_strerror(archive));
                goto err_free_chunkbuf;
@@ -464,9 +465,6 @@ static struct sr_option options[] = {
 
 static const struct sr_option *get_options(void)
 {
-       if (!options[0].def)
-               options[0].def = g_variant_ref_sink(g_variant_new_string(""));
-
        return options;
 }
 
@@ -475,7 +473,6 @@ static int cleanup(struct sr_output *o)
        struct out_context *outc;
 
        outc = o->priv;
-       g_variant_unref(options[0].def);
        g_free(outc->analog_index_map);
        g_free(outc->filename);
        g_free(outc);