summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2018-06-13 10:34:30 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2018-06-13 10:52:40 +0200
commit108ccae9e193971982d242929d7dc069d780a01e (patch)
tree6b3c9cdee3fbdbc8a20e70497f3d3f472815833d /src
parent5d904a6aaaceae7fe2f11d6b848b0dd45e3fd1c4 (diff)
downloadsystemd-108ccae9e193971982d242929d7dc069d780a01e.tar.gz
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.
Diffstat (limited to 'src')
-rw-r--r--src/test/test-alloc-util.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/test/test-alloc-util.c b/src/test/test-alloc-util.c
index 3343e6eecf..549925126e 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[]) {