From: Zbigniew Jędrzejewski-Szmek Date: Wed, 13 Jun 2018 08:34:30 +0000 (+0200) Subject: test-alloc-util: add casts to bools from p ointers X-Git-Tag: v239~69^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F9261%2Fhead;p=thirdparty%2Fsystemd.git test-alloc-util: add casts to bools from p ointers C++03: "An rvalue of arithmetic, enumeration, pointer, or pointer to member type can be converted to an rvalue of type bool. A zero value, null pointer value, or null member pointer value is converted to false; any other value is converted to true" C should behave the same because pointers are scalars in C, but let's verify that. --- diff --git a/src/test/test-alloc-util.c b/src/test/test-alloc-util.c index 3343e6eecf4..549925126e0 100644 --- a/src/test/test-alloc-util.c +++ b/src/test/test-alloc-util.c @@ -58,19 +58,23 @@ static void test_memdup_multiply_and_greedy_realloc(void) { } static void test_bool_assign(void) { - bool b, c, *cp = &c, d, e, f; + bool b, c, *cp = &c, d, e, f, g, h; b = 123; *cp = -11; d = 0xF & 0xFF; e = b & d; f = 0x0; + g = cp; /* cast from pointer */ + h = NULL; /* cast from pointer */ assert(b); assert(c); assert(d); assert(e); assert(!f); + assert(g); + assert(!h); } int main(int argc, char *argv[]) {