diff options
author | Michal Suchanek <hramrach@gmail.com> | 2012-04-26 15:11:20 +0200 |
---|---|---|
committer | Jeremy Huddleston <jeremyhu@apple.com> | 2012-05-10 00:50:35 -0700 |
commit | f012f0c48dedba4df69cc1a1ecdf8ee5d37daca9 (patch) | |
tree | 580c0a72f1dd8e3bba0ea0d4d41a005706f63755 | |
parent | f8d2ca759ad37d5e99d462f21a2259ce17bb1a00 (diff) |
dmx: Annotate dmxlog.c with _X_ATTRIBUTE_PRINTF and _X_NORETURN
and fix resulting printf warning in dmxLogVisual
Signed-off-by: Michal Suchanek <hramrach@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit d662fa2450856777b59c4b62b912395a8bfd52fd)
-rw-r--r-- | hw/dmx/dmxlog.c | 13 | ||||
-rw-r--r-- | hw/dmx/dmxlog.h | 19 |
2 files changed, 22 insertions, 10 deletions
diff --git a/hw/dmx/dmxlog.c b/hw/dmx/dmxlog.c index b56bb93ed..151f6728b 100644 --- a/hw/dmx/dmxlog.c +++ b/hw/dmx/dmxlog.c @@ -86,6 +86,8 @@ ErrorF(const char *format, ...) /** Provide an VFatalError function when used stand-alone. */ static void +VFatalError(const char *format, va_list args) _X_ATTRIBUTE_PRINTF(1, 0) _X_NORETURN; +static void VFatalError(const char *format, va_list args) { vfprintf(stderr, format, args); /* RATS: We assume the format string @@ -104,7 +106,9 @@ VErrorF(const char *format, va_list args) } #else /** This function was removed between XFree86 4.3.0 and XFree86 4.4.0. */ -extern void AbortServer(void); +extern void AbortServer(void) _X_NORETURN; +static void +VFatalError(const char *format, va_list args) _X_ATTRIBUTE_PRINTF(1, 0) _X_NORETURN; static void VFatalError(const char *format, va_list args) { @@ -166,6 +170,8 @@ dmxHeader(dmxLogLevel logLevel, DMXInputInfo * dmxInput, /* Prints the error message with the appropriate low-level X output * routine. */ static void +dmxMessage(dmxLogLevel logLevel, const char *format, va_list args) _X_ATTRIBUTE_PRINTF(2, 0); +static void dmxMessage(dmxLogLevel logLevel, const char *format, va_list args) { if (logLevel == dmxFatal || logLevel >= dmxCurrentLogLevel) { @@ -303,10 +309,11 @@ dmxLogVisual(DMXScreenInfo * dmxScreen, XVisualInfo * vi, int defaultVisual) class = "DirectColor"; break; } +#define VisualLogFormat "0x%02lx %s %2db %db/rgb %3d 0x%04lx 0x%04lx 0x%04lx%s\n" if (dmxScreen) { dmxLogOutput(dmxScreen, - "0x%02x %s %2db %db/rgb %3d 0x%04x 0x%04x 0x%04x%s\n", + VisualLogFormat, vi->visualid, class, vi->depth, vi->bits_per_rgb, vi->colormap_size, vi->red_mask, vi->green_mask, vi->blue_mask, @@ -314,7 +321,7 @@ dmxLogVisual(DMXScreenInfo * dmxScreen, XVisualInfo * vi, int defaultVisual) } else { dmxLog(dmxInfo, - " 0x%02x %s %2db %db/rgb %3d 0x%04x 0x%04x 0x%04x%s\n", + " " VisualLogFormat, vi->visualid, class, vi->depth, vi->bits_per_rgb, vi->colormap_size, vi->red_mask, vi->green_mask, vi->blue_mask, diff --git a/hw/dmx/dmxlog.h b/hw/dmx/dmxlog.h index 4d4cd269a..162484b34 100644 --- a/hw/dmx/dmxlog.h +++ b/hw/dmx/dmxlog.h @@ -55,18 +55,23 @@ typedef enum { /* Logging functions used by Xserver/hw/dmx routines. */ extern dmxLogLevel dmxSetLogLevel(dmxLogLevel newLevel); extern dmxLogLevel dmxGetLogLevel(void); -extern void dmxLog(dmxLogLevel logLevel, const char *format, ...); -extern void dmxLogCont(dmxLogLevel logLevel, const char *format, ...); +extern void dmxLog(dmxLogLevel logLevel, const char *format, + ...) _X_ATTRIBUTE_PRINTF(2, 3); +extern void dmxLogCont(dmxLogLevel logLevel, const char *format, + ...) _X_ATTRIBUTE_PRINTF(2, 3); extern const char *dmxEventName(int type); #ifndef DMX_LOG_STANDALONE -extern void dmxLogOutput(DMXScreenInfo * dmxScreen, const char *format, ...); +extern void dmxLogOutput(DMXScreenInfo * dmxScreen, const char *format, + ...) _X_ATTRIBUTE_PRINTF(2, 3); extern void dmxLogOutputCont(DMXScreenInfo * dmxScreen, const char *format, - ...); + ...) _X_ATTRIBUTE_PRINTF(2, 3); extern void dmxLogOutputWarning(DMXScreenInfo * dmxScreen, const char *format, - ...); -extern void dmxLogInput(DMXInputInfo * dmxInput, const char *format, ...); -extern void dmxLogInputCont(DMXInputInfo * dmxInput, const char *format, ...); + ...) _X_ATTRIBUTE_PRINTF(2, 3); +extern void dmxLogInput(DMXInputInfo * dmxInput, const char *format, + ...) _X_ATTRIBUTE_PRINTF(2, 3); +extern void dmxLogInputCont(DMXInputInfo * dmxInput, const char *format, + ...) _X_ATTRIBUTE_PRINTF(2, 3); extern void dmxLogArgs(dmxLogLevel logLevel, int argc, char **argv); extern void dmxLogVisual(DMXScreenInfo * dmxScreen, XVisualInfo * vi, int defaultVisual); |