[PATCH:xpr 2/3] Refactor invalid depth error reporting to allow printf format checking
Alan Coopersmith
alan.coopersmith at oracle.com
Sat Jan 29 11:59:10 PST 2011
Clears gcc warnings:
x2jet.c: In function `validate_visual':
x2jet.c:1053: warning: format not a string literal, argument types not checked
x2jet.c:1055: warning: format not a string literal, argument types not checked
x2jet.c:1057: warning: format not a string literal, argument types not checked
x2jet.c:1059: warning: format not a string literal, argument types not checked
x2jet.c:1064: warning: format not a string literal, argument types not checked
Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
---
x2jet.c | 24 ++++++++++++++++--------
1 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/x2jet.c b/x2jet.c
index b5eabcc..2811f0f 100644
--- a/x2jet.c
+++ b/x2jet.c
@@ -1041,27 +1041,35 @@ void download_colors (
}
+static _X_INLINE _X_NORETURN
+void invalid_depth_for_visual(int depth, const char *name)
+{
+ fatal_err(catgets(nlmsg_fd,NL_SETN,25,
+ "%d bit deep %s bitmap not supported.\n"),
+ depth, name);
+}
+
static
void validate_visual(void)
{
int depth = xwd_header.pixmap_depth;
- char *errmsg = catgets(nlmsg_fd,NL_SETN,25,
- "%d bit deep %s bitmap not supported.\n");
switch (xwd_header.visual_class) {
case GrayScale:
- if (depth > 8) fatal_err(errmsg, depth, "GrayScale"); break;
+ if (depth > 8) invalid_depth_for_visual(depth, "GrayScale"); break;
case StaticGray:
- if (depth > 8) fatal_err(errmsg, depth, "StaticGray"); break;
+ if (depth > 8) invalid_depth_for_visual(depth, "StaticGray"); break;
case PseudoColor:
- if (depth > 8) fatal_err(errmsg, depth, "PseudoColor"); break;
+ if (depth > 8) invalid_depth_for_visual(depth, "PseudoColor"); break;
case StaticColor:
- if (depth > 8) fatal_err(errmsg, depth, "StaticColor"); break;
+ if (depth > 8) invalid_depth_for_visual(depth, "StaticColor"); break;
case DirectColor:
+ if (depth != 12 && depth != 24)
+ invalid_depth_for_visual(depth, "DirectColor");
+ break;
case TrueColor:
if (depth != 12 && depth != 24)
- fatal_err(errmsg, depth, (xwd_header.visual_class == DirectColor)
- ? "DirectColor" : "TrueColor");
+ invalid_depth_for_visual(depth, "TrueColor");
break;
default:
fatal_err((catgets(nlmsg_fd,NL_SETN,26,
--
1.7.3.2
More information about the xorg-devel
mailing list