diff --git a/src/xpdev/gen_defs.h b/src/xpdev/gen_defs.h index cb194382291d727c0fc07473e71bc696ce52aa86..cdd8c06d90fd8a7e5b71aa823a5fc2a9009afd2d 100644 --- a/src/xpdev/gen_defs.h +++ b/src/xpdev/gen_defs.h @@ -432,7 +432,9 @@ typedef struct { /* This is a bound-safe version of strcpy basically - only works with fixed-length arrays */ #ifdef _DEBUG #define SAFECOPY(dst,src) do { \ +#if __STDC_VERSION__ >= 201112L static_assert(sizeof(dst) != sizeof(void*), "SAFECOPY() on pointer-sized dst, use strlcpy"); \ +#endif strlcpy(dst,src,sizeof(dst)); \ } while(0) #else @@ -442,7 +444,9 @@ typedef struct { /* Extra-safe SAFECOPY doesn't pass NULL-pointer to strlcpy */ #ifdef _DEBUG #define XSAFECOPY(dst,src) do { \ +#if __STDC_VERSION__ >= 201112L static_assert(sizeof(dst) != sizeof(void*), "SAFECOPY() on pointer-sized dst, use strlcpy"); \ +#endif strlcpy(dst,(src)==NULL?"(null)":(src),sizeof(dst)); \ } while(0) #else