]> sigrok.org Git - libsigrok.git/blobdiff - src/input/vcd.c
input/vcd: fix parse_header() return value check.
[libsigrok.git] / src / input / vcd.c
index ef78c9fe477e7bc24a31328018d4778d13089a11..f1d0b06cfad9a21add050fdea81ae086e21a24a8 100644 (file)
@@ -429,7 +429,7 @@ static int init(struct sr_input *in, GHashTable *options)
        inc->skip = g_variant_get_int32(g_hash_table_lookup(options, "skip"));
        inc->skip /= inc->downsample;
 
-       in->sdi = sr_dev_inst_new(SR_ST_ACTIVE, NULL, NULL, NULL);
+       in->sdi = g_malloc0(sizeof(struct sr_dev_inst));
        in->priv = inc;
 
        for (i = 0; i < num_channels; i++) {
@@ -503,7 +503,7 @@ static int receive(struct sr_input *in, GString *buf)
        if (!inc->got_header) {
                if (!have_header(in->buf))
                        return SR_OK;
-               if (!parse_header(in, in->buf) != SR_OK)
+               if (!parse_header(in, in->buf))
                        /* There was a header in there, but it was malformed. */
                        return SR_ERR;
 
@@ -569,6 +569,7 @@ SR_PRIV struct sr_input_module input_vcd = {
        .id = "vcd",
        .name = "VCD",
        .desc = "Value Change Dump",
+       .exts = (const char*[]){"vcd", NULL},
        .metadata = { SR_INPUT_META_HEADER | SR_INPUT_META_REQUIRED },
        .options = get_options,
        .format_match = format_match,