g_string_append_printf(header, "%s Channels (%d/%d):",
ctx->comment, ctx->num_analog_channels +
ctx->num_logic_channels, num_channels);
- for (i = 0, l = o->sdi->channels; l; l = l->next, i++) {
+ for (l = o->sdi->channels; l; l = l->next) {
ch = l->data;
if (ch->enabled)
g_string_append_printf(header, " %s,", ch->name);
for (j = ch = 0; ch < ctx->num_logic_channels; j++) {
if (ctx->channels[j].ch->type == SR_CHANNEL_LOGIC) {
- for (i = 0; i <= logic->length - logic->unitsize; i += logic->unitsize) {
- sample = logic->data + i;
- idx = ctx->channels[ch].ch->index;
+ for (i = 0; i < num_samples; i++) {
+ sample = logic->data + i * logic->unitsize;
+ idx = ctx->channels[j].ch->index;
if (ctx->label_do && !ctx->label_names)
- ctx->channels[i].label = "logic";
+ ctx->channels[j].label = "logic";
ctx->logic_samples[i * ctx->num_logic_channels + ch] = sample[idx / 8] & (1 << (idx % 8));
}
ch++;
}
if (ctx->time)
- g_string_append_printf(*out, "%lu%s",
+ g_string_append_printf(*out, "%" PRIu64 "%s",
ctx->sample_time, ctx->value);
for (j = 0; j < num_channels; j++) {
g_free((gpointer)ctx->frame);
g_free((gpointer)ctx->comment);
g_free((gpointer)ctx->gnuplot);
+ g_free((gpointer)ctx->value);
g_free(ctx->previous_sample);
g_free(ctx->channels);
g_free(o->priv);