Hi On Thu, Sep 18, 2014 at 12:57 PM, Dr. Werner Fink <wer...@suse.de> wrote: > On Thu, Sep 18, 2014 at 12:43:00PM +0200, David Herrmann wrote: >> Hi >> >> On Thu, Sep 18, 2014 at 11:16 AM, Werner Fink <wer...@suse.de> wrote: >> > On s390 the big endianness and cast from pointers of integers to >> > the type of bool leads to the funny status messages that e.g. >> > all targets are set to AllowIsolate=no even for multi-user.target. >> > >> > The gcc builtin type bool or _Bool has the size of one byte which >> > should be taken into account in sd_bus_message_read_basic() as well >> > as in bus_message_append_ap() >> >> We don't support "bool" in public APIs. sd-bus requires you to use >> "int" for boolean types. If a caller uses "bool", they must be fixed. > > Then I'd like to know why the header <stdbool.h> together with the > therein provided type _Bool aka bool is used overall systemd. Also
We use stdbool internally quite a lot. Especially bit-fields are really nice if implemented as bool. We just don't use bool in public APIs. We also avoid it in combination with va_arg() and with pointers, as in both cases the behavior is non-obvious and often done wrong. > it is systemctl which does use sd_bus_message_read_basic() to parse > the answer received over sd_bus of the status question send over > sd_bus? All uses of sd-bus with "bool" are bugs and need to be fixed. See the history of bus-message.c: commit 9bcbce4201afada1c0ad8ada0cbfbbf58a52a6a7 Author: Kay Sievers <k...@vrfy.org> Date: Tue Oct 22 03:27:38 2013 +0200 bus: avoid 'bool' storage when retrieving 'b' from the message commit 102d8f8169427cb68cdebf5ee0f0e07788e9c2b2 Author: Kay Sievers <k...@vrfy.org> Date: Thu Nov 7 02:03:10 2013 +0100 consistently use "int" when retrieving "bool" from bus messages Thanks David _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel