]> git.ozlabs.org Git - ccan/blobdiff - ccan/str/str.h
str: make sure STR_MAX_CHARS gives a constant expression.
[ccan] / ccan / str / str.h
index 85491bc7e33e2f2d6d7dd87fe606ec3e26c00d30..d919b84d49be3cf3a7c7435ffd9822fc17632363 100644 (file)
@@ -94,7 +94,7 @@ size_t strcount(const char *haystack, const char *needle);
 #if HAVE_TYPEOF
 /* Only a simple type can have 0 assigned, so test that. */
 #define STR_MAX_CHARS_TCHECK_(type_or_expr)            \
-       ({ typeof(type_or_expr) x = 0; (void)x; 0; })
+       (sizeof(({ typeof(type_or_expr) x = 0; x; }))*0)
 #else
 #define STR_MAX_CHARS_TCHECK_(type_or_expr) 0
 #endif