From a299a95413594201b4bb58d7d345e1933ebca5ae Mon Sep 17 00:00:00 2001 From: Gerhard Sittig Date: Sun, 4 Feb 2018 23:05:59 +0100 Subject: [PATCH] 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. --- src/output/vcd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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");