On Sat, May 02, 2020 at 07:06:38AM +0200, Markus Armbruster wrote: > Eric Blake <ebl...@redhat.com> writes: > > > On 4/28/20 11:34 AM, Markus Armbruster wrote: > >> Uses of gchar * in qom/object.h: > >> > > > > Nice audit. I don't know if we can blindly assume that 'gchar' is a > > (stupid) typedef to 'char', or if they can ever differ, but avoiding > > gchar where possible always makes sense to me. > > GLib's "basic types" are one of the most misguided aspects of its > interface.
There is work to re-define them in terms of stdint.h https://gitlab.gnome.org/GNOME/glib/issues/1484 with long term possible plan to deprecate them > Quote https://developer.gnome.org/glib/stable/glib-Basic-Types.html > > GLib defines a number of commonly used types, which can be divided > into several groups: > > New types which are not part of standard C (but are defined in > various C standard library header files) — gboolean, gssize. > > Stuck in the 90s. snip > Purge with fire. Note gboolean is a trap door. Any code integrating with GLib APIs that use "gboolean" in their signature must keep using that. It is *NOT* interchangable with the "bool" from stdbool.h. "gboolean" is a typedef for "gint" "bool" is a "_Bool" which is just a single byte. Also note TRUE and true are not the same value. 'TRUE' is bitwise !FALSE 'true' is 1 Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|