]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
tests: Fix build warning "dereferencing type-punned pointer will break strict-aliasin...
authorRalf Habacker <ralf.habacker@freenet.de>
Thu, 7 Apr 2022 10:34:00 +0000 (12:34 +0200)
committerRalf Habacker <ralf.habacker@freenet.de>
Sun, 1 May 2022 16:28:51 +0000 (16:28 +0000)
To avoid that build break in test-marshall-recursive-util.c the newly
added function _dbus_string_append_buffer_as_hex() is used to print
the hex bytes.

Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
test/internals/dbus-marshal-recursive-util.c

index 0727225a348062053b915cc139e59c8a7bce3a91..f05232f9bdacb099c342c19e1ad17c8dddf85dd1 100644 (file)
@@ -2625,13 +2625,28 @@ double_read_value (TestTypeNode   *node,
   expected = double_from_seed (seed);
 
   if (!_DBUS_DOUBLES_BITWISE_EQUAL (v, expected))
-    _dbus_test_fatal ("Expected double %g got %g\n"
-                      " bits = 0x%" DBUS_INT64_MODIFIER "x vs.\n"
-                      " bits = 0x%" DBUS_INT64_MODIFIER "x",
-                      expected, v,
-                      *(dbus_uint64_t*)(char*)&expected,
-                      *(dbus_uint64_t*)(char*)&v);
-
+    {
+      DBusString es = _DBUS_STRING_INIT_INVALID;
+      DBusString vs = _DBUS_STRING_INIT_INVALID;
+      if (!_dbus_string_init (&es))
+        goto out;
+      if (!_dbus_string_init (&vs))
+        goto out;
+      if (!_dbus_string_append_buffer_as_hex (&es, &expected, sizeof(double)))
+        goto out;
+      if (!_dbus_string_append_buffer_as_hex (&vs, &v, sizeof(double)))
+        goto out;
+      _dbus_test_fatal ("Expected double %g got %g\n"
+                        " bits = 0x%s vs.\n"
+                        " bits = 0x%s",
+                        expected, v,
+                        _dbus_string_get_const_data (&es),
+                        _dbus_string_get_const_data (&vs));
+out:
+      _dbus_string_free (&es);
+      _dbus_string_free (&vs);
+      return FALSE;
+    }
   return TRUE;
 }