On Sun, Jan 12, 2014 at 10:34:19AM -0800, Keith Packard wrote: > the drmServerInfo member, debug_print, takes a printf format string > and varargs list. Tell the compiler about it. > > Signed-off-by: Keith Packard <keithp at keithp.com> > --- > xf86drm.h | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/xf86drm.h b/xf86drm.h > index 1e763a3..5e170f8 100644 > --- a/xf86drm.h > +++ b/xf86drm.h > @@ -92,8 +92,14 @@ extern "C" { > typedef unsigned int drmSize, *drmSizePtr; /**< For mapped > regions */ > typedef void *drmAddress, **drmAddressPtr; /**< For mapped regions > */ > > +#if (__GNUC__ >= 3) > +#define DRM_PRINTFLIKE(f, a) __attribute__ ((format(__printf__, f, a))) > +#else > +#define DRM_PRINTFLIKE(f, a) > +#endif > + > typedef struct _drmServerInfo { > - int (*debug_print)(const char *format, va_list ap); > + int (*debug_print)(const char *format, va_list ap) DRM_PRINTFLIKE(1,0); > int (*load_module)(const char *name); > void (*get_perms)(gid_t *, mode_t *); > } drmServerInfo, *drmServerInfoPtr;
While at it, perhaps the drmMsg() and drmDebugPrint() functions should be similarily annotated as well? Thierry -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20140113/8e4e1d5c/attachment.pgp>