]> sigrok.org Git - libsigrok.git/blobdiff - output/output_binary.c
MinGW: Quickfix to make serial.c/ols.c compile.
[libsigrok.git] / output / output_binary.c
index e8e25e7bedeeef3b1f3abedac52dfb9bb0b93a03..41a8caee721ec04cb2eefec58285f9537c9311b9 100644 (file)
 #include <sigrok.h>
 #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) {
        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,8 @@ static int data(struct output *o, char *data_in, uint64_t length_in,
 struct output_format output_binary = {
        "binary",
        "Raw binary",
-       init,
+       DF_LOGIC,
+       NULL,
        data,
        event,
 };