X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=output%2Foutput_binary.c;h=41a8caee721ec04cb2eefec58285f9537c9311b9;hb=1fdb75e14528abd62ebe727537512c741a5759da;hp=80b1447f75d9eabfa06488e5b3d4bf2f0ae26bd4;hpb=c9c1c6458c15958d19d8cbac50f2e301479892a1;p=libsigrok.git diff --git a/output/output_binary.c b/output/output_binary.c index 80b1447f..41a8caee 100644 --- a/output/output_binary.c +++ b/output/output_binary.c @@ -24,20 +24,18 @@ #include #include "config.h" - static int event(struct output *o, int event_type, char **data_out, uint64_t *length_out) { - /* Prevent compiler warnings. */ o = o; - event_type = event_type; - data_out = data_out; switch (event_type) { case DF_TRIGGER: + /* TODO? Ignore? */ break; case DF_END: + *data_out = NULL; *length_out = 0; break; } @@ -48,20 +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; memcpy(outbuf, data_in, length_in); *data_out = outbuf; - *length_out = outsize; + *length_out = length_in; return SIGROK_OK; } @@ -69,6 +64,7 @@ static int data(struct output *o, char *data_in, uint64_t length_in, struct output_format output_binary = { "binary", "Raw binary", + DF_LOGIC, NULL, data, event,