[PATCH] Mark debug_print with __attribute__ ((format(__printf__, 1, 0)))

Thierry Reding thierry.reding at gmail.com
Mon Jan 13 01:13:57 PST 2014


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>


More information about the dri-devel mailing list