The "binary value" helpers would not follow the sigrok project's style
of only using non-zero values for valid enum items (a zero value is
assumed to always represent something "inactive" or "invalid").
Introduce the "invalid" item in the enum declaration to fixup the style
issue. Rephrase the bv_get_value() routine's length specs to improve
readability, match numbers in length specs to the numbers in conversion
routine references.
break
switch (spec->type) {
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;
default:
return SR_ERR_ARG;
/** Binary value type */
enum binary_value_type {
/** Binary value type */
enum binary_value_type {
+ BVT_INVALID,
+
+ BVT_UINT8,
BVT_BE_UINT8 = BVT_UINT8,
BVT_LE_UINT8 = BVT_UINT8,
BVT_BE_UINT8 = BVT_UINT8,
BVT_LE_UINT8 = BVT_UINT8,