From b2b211bb566245ab57cd7225a520a86779c38b02 Mon Sep 17 00:00:00 2001 From: "dejun.xdj" Date: Sat, 29 Dec 2018 14:54:05 +0800 Subject: [PATCH] Change SDS_HDR_VAR macro to a properer definition. Avoid type conversion error in c++. --- sds.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sds.h b/sds.h index 1bdb60d..bf9dd6a 100644 --- a/sds.h +++ b/sds.h @@ -80,8 +80,8 @@ struct __attribute__ ((__packed__)) sdshdr64 { #define SDS_TYPE_64 4 #define SDS_TYPE_MASK 7 #define SDS_TYPE_BITS 3 -#define SDS_HDR_VAR(T,s) struct sdshdr##T *sh = (void*)((s)-(sizeof(struct sdshdr##T))); #define SDS_HDR(T,s) ((struct sdshdr##T *)((s)-(sizeof(struct sdshdr##T)))) +#define SDS_HDR_VAR(T,s) struct sdshdr##T *sh = SDS_HDR(T,s) #define SDS_TYPE_5_LEN(f) ((f)>>SDS_TYPE_BITS) static inline size_t sdslen(const sds s) {