diff --git a/src/HDRPC.c b/src/HDRPC.c index 13d9bbf..93b60e0 100644 --- a/src/HDRPC.c +++ b/src/HDRPC.c @@ -377,18 +377,18 @@ uint8_t _HDRPCAddArgs(HDRPCSession *session, uint8_t type, void *args, uint8_t l session->args[index].type = type; switch (type) { case kHDRPCU8: - session->args[index].dataU8 = *(uint8_t *)args; + session->args[index].dataU8 = *((uint8_t *)args + i); break; case kHDRPCException: case kHDRPCU16: - session->args[index].dataU16 = *(uint16_t *)args; + session->args[index].dataU16 = *((uint16_t *)args + i); break; case kHDRPCU32: - session->args[index].dataU32 = *(uint32_t *)args; + session->args[index].dataU32 = *((uint32_t *)args + i); break; #ifdef HDRPC_USE_64 case kHDRPCU64: - session->args[index].dataU64 = *(uint64_t *)args; + session->args[index].dataU64 = *((uint64_t *)args + i); break; #endif case kHDRPCUserData: