]> sigrok.org Git - libsigrok.git/blobdiff - output/binary.c
sr: new output format 'float', just floating point values
[libsigrok.git] / output / binary.c
index f0a3c35a9f9a03e30d5266e8fd35f52bb815d049..6141b4ffc81de8b635edcae6adbdf111bd073f0d 100644 (file)
 #include "sigrok.h"
 #include "sigrok-internal.h"
 
-static int data(struct sr_output *o, const char *data_in, uint64_t length_in,
-               char **data_out, uint64_t *length_out)
+static int data(struct sr_output *o, const uint8_t *data_in,
+               uint64_t length_in, uint8_t **data_out, uint64_t *length_out)
 {
-       char *outbuf;
+       uint8_t *outbuf;
 
        /* Prevent compiler warnings. */
        (void)o;
 
        if (!data_in) {
-               sr_warn("binary output: %s: data_in was NULL", __func__);
-               return SR_ERR;
+               sr_err("binary out: %s: data_in was NULL", __func__);
+               return SR_ERR_ARG;
        }
 
        if (!length_out) {
-               sr_warn("binary output: %s: length_out was NULL", __func__);
-               return SR_ERR;
+               sr_err("binary out: %s: length_out was NULL", __func__);
+               return SR_ERR_ARG;
        }
 
        if (length_in == 0) {
-               sr_warn("binary output: %s: length_in was 0", __func__);
-               return SR_ERR;
+               sr_err("binary out: %s: length_in was 0", __func__);
+               return SR_ERR_ARG;
        }
 
-       if (!(outbuf = calloc(1, length_in))) {
-               sr_warn("binary output: %s: outbuf calloc failed", __func__);
+       if (!(outbuf = g_try_malloc0(length_in))) {
+               sr_err("binary out: %s: outbuf malloc failed", __func__);
                return SR_ERR_MALLOC;
        }