X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Foutput%2Fcsv.c;h=86df2613565af110e9391aa7dc2526b50d8850da;hb=f4d3a4fb9ae62b4764cbb8181ab9bef95e7b6348;hp=d17969e8279db59b83599b179e5c818193b1f0a9;hpb=155b680da482cea2381becb73c51cfb838bff31e;p=libsigrok.git diff --git a/src/output/csv.c b/src/output/csv.c index d17969e8..86df2613 100644 --- a/src/output/csv.c +++ b/src/output/csv.c @@ -47,18 +47,20 @@ struct context { * - Trigger support. */ -static int init(struct sr_output *o) +static int init(struct sr_output *o, GHashTable *options) { struct context *ctx; struct sr_channel *ch; GSList *l; int i; + (void)options; + if (!o || !o->sdi) return SR_ERR_ARG; ctx = g_malloc0(sizeof(struct context)); - o->internal = ctx; + o->priv = ctx; ctx->separator = ','; /* Get the number of channels, and the unitsize. */ @@ -85,7 +87,7 @@ static int init(struct sr_output *o) return SR_OK; } -static GString *gen_header(struct sr_output *o) +static GString *gen_header(const struct sr_output *o) { struct context *ctx; struct sr_channel *ch; @@ -96,7 +98,7 @@ static GString *gen_header(struct sr_output *o) int num_channels, i; char *samplerate_s; - ctx = o->internal; + ctx = o->priv; header = g_string_sized_new(512); /* Some metadata */ @@ -137,7 +139,7 @@ static GString *gen_header(struct sr_output *o) return header; } -static int receive(struct sr_output *o, const struct sr_datafeed_packet *packet, +static int receive(const struct sr_output *o, const struct sr_datafeed_packet *packet, GString **out) { const struct sr_datafeed_meta *meta; @@ -152,7 +154,7 @@ static int receive(struct sr_output *o, const struct sr_datafeed_packet *packet, *out = NULL; if (!o || !o->sdi) return SR_ERR_ARG; - if (!(ctx = o->internal)) + if (!(ctx = o->priv)) return SR_ERR_ARG; switch (packet->type) { @@ -201,19 +203,21 @@ static int cleanup(struct sr_output *o) if (!o || !o->sdi) return SR_ERR_ARG; - if (o->internal) { - ctx = o->internal; + if (o->priv) { + ctx = o->priv; g_free(ctx->channel_index); - g_free(o->internal); - o->internal = NULL; + g_free(o->priv); + o->priv = NULL; } return SR_OK; } -SR_PRIV struct sr_output_format output_csv = { +SR_PRIV struct sr_output_module output_csv = { .id = "csv", - .description = "Comma-separated values (CSV)", + .name = "CSV", + .desc = "Comma-separated values", + .options = NULL, .init = init, .receive = receive, .cleanup = cleanup,