/* Some metadata */
if (ctx->header && !ctx->did_header) {
/* save_gnuplot knows how many lines we print. */
+ time_t secs;
+ secs = hdr->starttime.tv_sec;
g_string_append_printf(header,
"%s CSV generated by %s %s\n%s from %s on %s",
ctx->comment, PACKAGE_NAME,
sr_package_version_string_get(), ctx->comment,
- ctx->title, ctime(&hdr->starttime.tv_sec));
+ ctx->title, ctime(&secs));
/* Columns / channels */
channels = o->sdi ? o->sdi->channels : NULL;
} else {
sr_info("Dumping %u samples", ctx->num_samples);
- *out = g_string_sized_new(512);
+ if (!*out)
+ *out = g_string_sized_new(512);
num_channels =
ctx->num_logic_channels + ctx->num_analog_channels;
ctx->trigger = TRUE;
break;
case SR_DF_LOGIC:
+ *out = g_string_sized_new(512);
logic = packet->payload;
ctx->pkt_snums = logic->length;
ctx->pkt_snums /= logic->length;
process_logic(ctx, logic);
break;
case SR_DF_ANALOG:
+ *out = g_string_sized_new(512);
analog = packet->payload;
ctx->pkt_snums = analog->num_samples;
ctx->pkt_snums /= g_slist_length(analog->meaning->channels);