From 5201a7700179c739100bae198fab3a84fa19dbe9 Mon Sep 17 00:00:00 2001 From: fengzero Date: Wed, 25 May 2022 09:36:21 +0000 Subject: [PATCH] fix: 64bit endian conversion --- include/neuron/type.h | 12 ++++++++---- src/adapter/driver/driver.c | 1 + 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/include/neuron/type.h b/include/neuron/type.h index d5a4e304..536da061 100644 --- a/include/neuron/type.h +++ b/include/neuron/type.h @@ -348,10 +348,14 @@ static inline uint64_t neu_htonll(uint64_t u) uint64_t ret = 0; uint8_t *ret_bytes = (uint8_t *) &ret; - ret_bytes[0] = bytes[3]; - ret_bytes[1] = bytes[2]; - ret_bytes[2] = bytes[1]; - ret_bytes[3] = bytes[0]; + ret_bytes[0] = bytes[7]; + ret_bytes[1] = bytes[6]; + ret_bytes[2] = bytes[5]; + ret_bytes[3] = bytes[4]; + ret_bytes[4] = bytes[3]; + ret_bytes[5] = bytes[2]; + ret_bytes[6] = bytes[1]; + ret_bytes[7] = bytes[0]; return ret; } diff --git a/src/adapter/driver/driver.c b/src/adapter/driver/driver.c index 1eda14d9..fd2d797e 100644 --- a/src/adapter/driver/driver.c +++ b/src/adapter/driver/driver.c @@ -118,6 +118,7 @@ static void update(neu_adapter_t *adapter, const char *name, neu_dvalue_t value) case NEU_TYPE_BYTES: break; default: + assert(value.type == NEU_TYPE_INT8); break; }