v1 was here:
https://www.redhat.com/archives/libguestfs/2019-January/msg00008.html
In v2 I have provided two patches:
The first patch extends attribute((nonnull)) to most internal
functions, but not to the external API.
The second patch uses a macro so that attribute((format)) is only used
in the public API on GCC or Clang. At least in theory these headers
could be used by a C compiler which only supports the C99 standard.
Note that I don't propose to use attribute((nonnull)) in the public
API until we have a bit more knowledge about: (1) Which version of GCC
fixed this. (2) Whether it really works well with new GCC or if we
find there are unexpected problems.
Rich.