X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=output%2Foutput_binary.c;h=2045a579ec02a4579b961c03957583d947a6256a;hb=340f6e7aeaf0c6cbbb27c5b535787bd09407994b;hp=38338e374743fecde178e8d449d53b4f1f5d4abc;hpb=1c5b9d302c410cdd1cba441f618e0e3f7afa137d;p=libsigrok.git diff --git a/output/output_binary.c b/output/output_binary.c index 38338e37..2045a579 100644 --- a/output/output_binary.c +++ b/output/output_binary.c @@ -24,34 +24,19 @@ #include #include "config.h" -static int init(struct output *o) -{ - /* Prevent compiler warnings. */ - o = o; - - /* Nothing so far, but we might want to add stuff here later. */ - return 0; -} - static int event(struct output *o, int event_type, char **data_out, uint64_t *length_out) { - char *outbuf; - int outlen = 1; /* FIXME */ - /* Prevent compiler warnings. */ o = o; - event_type = event_type; - switch(event_type) { + switch (event_type) { case DF_TRIGGER: + /* TODO? Ignore? */ break; case DF_END: - outbuf = calloc(1, outlen); /* FIXME */ - if (outbuf == NULL) - return SIGROK_ERR_MALLOC; - *data_out = outbuf; - *length_out = outlen; + *data_out = NULL; + *length_out = 0; break; } @@ -61,22 +46,17 @@ static int event(struct output *o, int event_type, char **data_out, static int data(struct output *o, char *data_in, uint64_t length_in, char **data_out, uint64_t *length_out) { - uint64_t outsize; char *outbuf; /* Prevent compiler warnings. */ o = o; - outsize = length_in; - outbuf = calloc(1, outsize); - if (outbuf == NULL) + if (!(outbuf = calloc(1, length_in))) return SIGROK_ERR_MALLOC; - /* TODO: Are disabled probes handled correctly? */ memcpy(outbuf, data_in, length_in); - *data_out = outbuf; - *length_out = outsize; + *length_out = length_in; return SIGROK_OK; } @@ -84,7 +64,7 @@ static int data(struct output *o, char *data_in, uint64_t length_in, struct output_format output_binary = { "binary", "Raw binary", - init, + NULL, data, event, };