From: Gerhard Sittig Date: Sun, 4 Feb 2018 22:05:59 +0000 (+0100) Subject: output/vcd: assign adjacent names to enabled channels X-Git-Url: https://sigrok.org/gitweb/?a=commitdiff_plain;h=a299a95413594201b4bb58d7d345e1933ebca5ae;hp=64aa214a22fdbc4a083f3cd6bd06755e6784b96c;p=libsigrok.git output/vcd: assign adjacent names to enabled channels Identifiers for channels in the VCD header section could be "sparse" when sigrok channels were disabled. Make sure to not assign names to disabled channels. This will e.g. assign !, ", and # to channels D1, D3, and D6, when D0, D2, D4-D5, and D7 are disabled. This addresses part of bug #519. --- diff --git a/src/output/vcd.c b/src/output/vcd.c index 43020029..db77a7ad 100644 --- a/src/output/vcd.c +++ b/src/output/vcd.c @@ -136,7 +136,7 @@ static GString *gen_header(const struct sr_output *o) g_string_append_printf(header, "$scope module %s $end\n", PACKAGE_NAME); /* Wires / channels */ - for (i = 0, l = o->sdi->channels; l; l = l->next, i++) { + for (i = 0, l = o->sdi->channels; l; l = l->next) { ch = l->data; if (ch->type != SR_CHANNEL_LOGIC) continue; @@ -144,6 +144,7 @@ static GString *gen_header(const struct sr_output *o) continue; g_string_append_printf(header, "$var wire 1 %c %s $end\n", (char)('!' + i), ch->name); + i++; } g_string_append(header, "$upscope $end\n$enddefinitions $end\n");