]> sigrok.org Git - libsigrok.git/blobdiff - src/binary_helpers.c
rdtech-tc: use common code to scan conn= and serialcomm= specs
[libsigrok.git] / src / binary_helpers.c
index 8c1b7b7c8306287f6e8dfbbaa52d2fa9012607fa..a15f5cfba8acf978697096b0258961918409fb27 100644 (file)
@@ -22,7 +22,8 @@
 #include <libsigrok/libsigrok.h>
 #include "libsigrok-internal.h"
 
-SR_PRIV int bv_get_value(float *out, const struct binary_value_spec *spec, const void *data, size_t length)
+SR_PRIV int bv_get_value(float *out, const struct binary_value_spec *spec,
+       const void *data, size_t length)
 {
        float value;
 
@@ -37,17 +38,17 @@ SR_PRIV int bv_get_value(float *out, const struct binary_value_spec *spec, const
                break
 
        switch (spec->type) {
-               VALUE_TYPE(BVT_UINT8, R8, 1);
+               VALUE_TYPE(BVT_UINT8, R8, sizeof(uint8_t));
 
-               VALUE_TYPE(BVT_BE_UINT16, RB16, 2);
-               VALUE_TYPE(BVT_BE_UINT32, RB32, 4);
-               VALUE_TYPE(BVT_BE_UINT64, RB64, 8);
-               VALUE_TYPE(BVT_BE_FLOAT, RBFL, 4);
+               VALUE_TYPE(BVT_BE_UINT16, RB16, sizeof(uint16_t));
+               VALUE_TYPE(BVT_BE_UINT32, RB32, sizeof(uint32_t));
+               VALUE_TYPE(BVT_BE_UINT64, RB64, sizeof(uint64_t));
+               VALUE_TYPE(BVT_BE_FLOAT, RBFL, sizeof(float));
 
-               VALUE_TYPE(BVT_LE_UINT16, RL16, 2);
-               VALUE_TYPE(BVT_LE_UINT32, RL32, 4);
-               VALUE_TYPE(BVT_LE_UINT64, RL64, 8);
-               VALUE_TYPE(BVT_LE_FLOAT, RLFL, 4);
+               VALUE_TYPE(BVT_LE_UINT16, RL16, sizeof(uint16_t));
+               VALUE_TYPE(BVT_LE_UINT32, RL32, sizeof(uint32_t));
+               VALUE_TYPE(BVT_LE_UINT64, RL64, sizeof(uint64_t));
+               VALUE_TYPE(BVT_LE_FLOAT, RLFL, sizeof(float));
 
        default:
                return SR_ERR_ARG;
@@ -59,8 +60,9 @@ SR_PRIV int bv_get_value(float *out, const struct binary_value_spec *spec, const
        return SR_OK;
 }
 
-SR_PRIV int bv_send_analog_channel(const struct sr_dev_inst *sdi, struct sr_channel *ch,
-                                  const struct binary_analog_channel *bac, const void *data, size_t length)
+SR_PRIV int bv_send_analog_channel(const struct sr_dev_inst *sdi,
+       struct sr_channel *ch, const struct binary_analog_channel *bac,
+       const void *data, size_t length)
 {
        int err;
        struct sr_analog_encoding encoding;
@@ -85,10 +87,6 @@ SR_PRIV int bv_send_analog_channel(const struct sr_dev_inst *sdi, struct sr_chan
        meaning.unit = bac->unit;
        meaning.mqflags = 0;
        meaning.channels = g_slist_append(NULL, ch);
-       if (!meaning.channels) {
-               err = SR_ERR_MALLOC;
-               goto err_out;
-       }
 
        spec.spec_digits = bac->digits;