]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-alloc-util: add casts to bools from p ointers 9261/head
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 13 Jun 2018 08:34:30 +0000 (10:34 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 13 Jun 2018 08:52:40 +0000 (10:52 +0200)
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.

src/test/test-alloc-util.c

index 3343e6eecf4f90a72b2146a1e59ebcb86a4b9f8a..549925126e02c0641557be65eafa5bddb4991616 100644 (file)
@@ -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[]) {