X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Fbytestring%2Ftest%2Fcompile_fail-BYTESTRING-2.c;h=d4a610e250e5bb0c0d3620e11fca944dac961a18;hb=a46da30dff97eef6f8e1dc9666aaacf4284f36c3;hp=3c62f94173d354ed41364d3a26b48850a15c7737;hpb=d584928758cb995a60e8264b73da46bcd8c410ca;p=ccan diff --git a/ccan/bytestring/test/compile_fail-BYTESTRING-2.c b/ccan/bytestring/test/compile_fail-BYTESTRING-2.c index 3c62f941..d4a610e2 100644 --- a/ccan/bytestring/test/compile_fail-BYTESTRING-2.c +++ b/ccan/bytestring/test/compile_fail-BYTESTRING-2.c @@ -4,6 +4,12 @@ #include +/* + * BYTESTRING() can only be used safely on a literal string (or, + * strictly, something whose size can be determined with ARRAY_SIZE(). + * This checks that it correctly fails to compile if used on a + * non-array pointer. + */ int main(int argc, char *argv[]) { struct bytestring bs; @@ -11,6 +17,8 @@ int main(int argc, char *argv[]) #ifdef FAIL bs = BYTESTRING(x); +#else + bs.len = 0; #endif printf("%zd %s\n", bs.len, x); return 0;