X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=output%2Ftext%2Fbits.c;h=d66b7823f911be79db07a5a91f081c075d757684;hb=133a37bfba1a7e1423716b2b872d3bb82a2e64d9;hp=00e4d6b9e5f183c376904d5f57d8b70868805e56;hpb=b08024a8363c7a019bebc05a25e2689e774326e8;p=libsigrok.git diff --git a/output/text/bits.c b/output/text/bits.c index 00e4d6b9..d66b7823 100644 --- a/output/text/bits.c +++ b/output/text/bits.c @@ -21,17 +21,17 @@ #include #include #include -#include -#include +#include "sigrok.h" +#include "sigrok-internal.h" #include "text.h" -int init_bits(struct sr_output *o) +SR_PRIV int init_bits(struct sr_output *o) { return init(o, DEFAULT_BPL_BITS, MODE_BITS); } -int data_bits(struct sr_output *o, const char *data_in, uint64_t length_in, - char **data_out, uint64_t *length_out) +SR_PRIV int data_bits(struct sr_output *o, const char *data_in, + uint64_t length_in, char **data_out, uint64_t *length_out) { struct context *ctx; unsigned int outsize, offset, p; @@ -49,14 +49,16 @@ int data_bits(struct sr_output *o, const char *data_in, uint64_t length_in, outsize = 512 + (1 + (length_in / ctx->unitsize) / ctx->samples_per_line) * (ctx->num_enabled_probes * max_linelen); - if (!(outbuf = calloc(1, outsize + 1))) + if (!(outbuf = g_try_malloc0(outsize + 1))) { + sr_err("bits out: %s: outbuf malloc failed", __func__); return SR_ERR_MALLOC; + } outbuf[0] = '\0'; if (ctx->header) { /* The header is still here, this must be the first packet. */ strncpy(outbuf, ctx->header, outsize); - free(ctx->header); + g_free(ctx->header); ctx->header = NULL; /* Ensure first transition. */ @@ -101,7 +103,7 @@ int data_bits(struct sr_output *o, const char *data_in, uint64_t length_in, return SR_OK; } -struct sr_output_format output_text_bits = { +SR_PRIV struct sr_output_format output_text_bits = { .id = "bits", .description = "Bits (takes argument, default 64)", .df_type = SR_DF_LOGIC,