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. 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. Integer types which are guaranteed to be the same size across all platforms — gint8, guint8, gint16, guint16, gint32, guint32, gint64, guint64. Again. Types which are easier to use than their standard C counterparts - gpointer, gconstpointer, guchar, guint, gushort, gulong. Surely, you're joking Mr. GLib. Types which correspond exactly to standard C types, but are included for completeness — gchar, gint, gshort, glong, gfloat, gdouble. This answers your question: yes, gchar is exactly char. It also reminds me of "It has been said that XML is like violence; if a little doesn't solve the problem, use more." Types which correspond exactly to standard C99 types, but are available to use even if your compiler does not support C99 — gsize, goffset, gintptr, guintptr. And the 90s again. Purge with fire. >> Signed-off-by: Markus Armbruster <arm...@redhat.com> >> --- > Reviewed-by: Eric Blake <ebl...@redhat.com> Thanks!