From 02f90c7780572cb33a21de97a8519c9734fda83e Mon Sep 17 00:00:00 2001 From: "xiang.zhou" Date: Tue, 5 Sep 2023 08:45:53 +0800 Subject: [PATCH] fixbug:index error when endian in BL or LB --- src/adapter/driver/driver.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/adapter/driver/driver.c b/src/adapter/driver/driver.c index c1fd894e..795b7fb4 100644 --- a/src/adapter/driver/driver.c +++ b/src/adapter/driver/driver.c @@ -411,7 +411,7 @@ static void fix_value(neu_datatag_t *tag, neu_type_e value_type, switch (tag->option.value32.endian) { case NEU_DATATAG_ENDIAN_LB32: neu_ntohs_p((uint16_t *) value->value.bytes.bytes); - neu_ntohs_p((uint16_t *) value->value.bytes.bytes + 2); + neu_ntohs_p((uint16_t *) (value->value.bytes.bytes + 2)); break; case NEU_DATATAG_ENDIAN_BB32: value->value.u32 = htonl(value->value.u32); @@ -419,7 +419,7 @@ static void fix_value(neu_datatag_t *tag, neu_type_e value_type, case NEU_DATATAG_ENDIAN_BL32: value->value.u32 = htonl(value->value.u32); neu_ntohs_p((uint16_t *) value->value.bytes.bytes); - neu_ntohs_p((uint16_t *) value->value.bytes.bytes + 2); + neu_ntohs_p((uint16_t *) (value->value.bytes.bytes + 2)); break; case NEU_DATATAG_ENDIAN_LL32: default: @@ -435,7 +435,7 @@ static void fix_value(neu_datatag_t *tag, neu_type_e value_type, switch (tag->option.value32.endian) { case NEU_DATATAG_ENDIAN_LB32: neu_ntohs_p((uint16_t *) value->value.bytes.bytes); - neu_ntohs_p((uint16_t *) value->value.bytes.bytes + 2); + neu_ntohs_p((uint16_t *) (value->value.bytes.bytes + 2)); break; case NEU_DATATAG_ENDIAN_BB32: value->value.u32 = htonl(value->value.u32); @@ -443,7 +443,7 @@ static void fix_value(neu_datatag_t *tag, neu_type_e value_type, case NEU_DATATAG_ENDIAN_BL32: value->value.u32 = htonl(value->value.u32); neu_ntohs_p((uint16_t *) value->value.bytes.bytes); - neu_ntohs_p((uint16_t *) value->value.bytes.bytes + 2); + neu_ntohs_p((uint16_t *) (value->value.bytes.bytes + 2)); break; case NEU_DATATAG_ENDIAN_LL32: default: