From 95a436f7efd7061a15e3be533c56e573aac2db92 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Sun, 26 Aug 2012 21:45:45 -0700 Subject: Refactor error printing to use common functions All errors currently recognized by xscope fall into two forms, with or without a 32-bit value to print as a bad value, so use common implementations for those two forms so we can stop duplicating that code for every new extension-defined error. Signed-off-by: Alan Coopersmith --- print11.c | 150 ++++++++++++++++---------------------------------------------- 1 file changed, 39 insertions(+), 111 deletions(-) (limited to 'print11.c') diff --git a/print11.c b/print11.c index 7935b84..cf477e2 100644 --- a/print11.c +++ b/print11.c @@ -193,213 +193,141 @@ const char *REPLYHEADER = "..............REPLY"; /* Error Printing procedures */ +/* generic routine for printing common format error messages with a + labeled bad value in bytes 4-7. */ void -RequestError(const unsigned char *buf) +printErrorWithValue(const unsigned char *buf, + short FieldType, const char *desc) { - PrintField(buf, 1, 1, ERROR, ERRORHEADER); /* Request */ + PrintField(buf, 1, 1, ERROR, ERRORHEADER); if (Verbose < 1) return; printfield(buf, 2, 2, CARD16, "sequence number"); + PrintField(buf, 4, 4, FieldType, desc); PrintField(buf, 8, 2, CARD16, "minor opcode"); PrintField(buf, 10, 1, CARD8, "major opcode"); } +/* generic routine for printing common format error messages with + no additional information provided. */ void -ValueError(const unsigned char *buf) +printErrorNoValue(const unsigned char *buf) { - PrintField(buf, 1, 1, ERROR, ERRORHEADER); /* Value */ + PrintField(buf, 1, 1, ERROR, ERRORHEADER); if (Verbose < 1) return; printfield(buf, 2, 2, CARD16, "sequence number"); - PrintField(buf, 4, 4, INT32, "bad value"); + /* 4 bytes unused */ PrintField(buf, 8, 2, CARD16, "minor opcode"); PrintField(buf, 10, 1, CARD8, "major opcode"); } +void +RequestError(const unsigned char *buf) +{ + printErrorNoValue(buf); +} + +void +ValueError(const unsigned char *buf) +{ + printErrorWithValue(buf, INT32, "bad value"); +} + void WindowError(const unsigned char *buf) { - PrintField(buf, 1, 1, ERROR, ERRORHEADER); /* Window */ - if (Verbose < 1) - return; - printfield(buf, 2, 2, CARD16, "sequence number"); - PrintField(buf, 4, 4, CARD32, "bad resource id"); - PrintField(buf, 8, 2, CARD16, "minor opcode"); - PrintField(buf, 10, 1, CARD8, "major opcode"); + printErrorWithValue(buf, CARD32, "bad resource id"); } void PixmapError(const unsigned char *buf) { - PrintField(buf, 1, 1, ERROR, ERRORHEADER); /* Pixmap */ - if (Verbose < 1) - return; - printfield(buf, 2, 2, CARD16, "sequence number"); - PrintField(buf, 4, 4, CARD32, "bad resource id"); - PrintField(buf, 8, 2, CARD16, "minor opcode"); - PrintField(buf, 10, 1, CARD8, "major opcode"); + printErrorWithValue(buf, CARD32, "bad resource id"); } void AtomError(const unsigned char *buf) { - PrintField(buf, 1, 1, ERROR, ERRORHEADER); /* Atom */ - if (Verbose < 1) - return; - printfield(buf, 2, 2, CARD16, "sequence number"); - PrintField(buf, 4, 4, CARD32, "bad atom id"); - PrintField(buf, 8, 2, CARD16, "minor opcode"); - PrintField(buf, 10, 1, CARD8, "major opcode"); + printErrorWithValue(buf, CARD32, "bad atom id"); } void CursorError(const unsigned char *buf) { - PrintField(buf, 1, 1, ERROR, ERRORHEADER); /* Cursor */ - if (Verbose < 1) - return; - printfield(buf, 2, 2, CARD16, "sequence number"); - PrintField(buf, 4, 4, CARD32, "bad resource id"); - PrintField(buf, 8, 2, CARD16, "minor opcode"); - PrintField(buf, 10, 1, CARD8, "major opcode"); + printErrorWithValue(buf, CARD32, "bad resource id"); } void FontError(const unsigned char *buf) { - PrintField(buf, 1, 1, ERROR, ERRORHEADER); /* Font */ - if (Verbose < 1) - return; - printfield(buf, 2, 2, CARD16, "sequence number"); - PrintField(buf, 4, 4, CARD32, "bad resource id"); - PrintField(buf, 8, 2, CARD16, "minor opcode"); - PrintField(buf, 10, 1, CARD8, "major opcode"); + printErrorWithValue(buf, CARD32, "bad resource id"); } void MatchError(const unsigned char *buf) { - PrintField(buf, 1, 1, ERROR, ERRORHEADER); /* Match */ - if (Verbose < 1) - return; - printfield(buf, 2, 2, CARD16, "sequence number"); - PrintField(buf, 8, 2, CARD16, "minor opcode"); - PrintField(buf, 10, 1, CARD8, "major opcode"); + printErrorNoValue(buf); } void DrawableError(const unsigned char *buf) { - PrintField(buf, 1, 1, ERROR, ERRORHEADER); /* Drawable */ - if (Verbose < 1) - return; - printfield(buf, 2, 2, CARD16, "sequence number"); - PrintField(buf, 4, 4, CARD32, "bad resource id"); - PrintField(buf, 8, 2, CARD16, "minor opcode"); - PrintField(buf, 10, 1, CARD8, "major opcode"); + printErrorWithValue(buf, CARD32, "bad resource id"); } void AccessError(const unsigned char *buf) { - PrintField(buf, 1, 1, ERROR, ERRORHEADER); /* Access */ - if (Verbose < 1) - return; - printfield(buf, 2, 2, CARD16, "sequence number"); - PrintField(buf, 8, 2, CARD16, "minor opcode"); - PrintField(buf, 10, 1, CARD8, "major opcode"); + printErrorNoValue(buf); } void AllocError(const unsigned char *buf) { - PrintField(buf, 1, 1, ERROR, ERRORHEADER); /* Alloc */ - if (Verbose < 1) - return; - printfield(buf, 2, 2, CARD16, "sequence number"); - PrintField(buf, 8, 2, CARD16, "minor opcode"); - PrintField(buf, 10, 1, CARD8, "major opcode"); + printErrorNoValue(buf); } void ColormapError(const unsigned char *buf) { - PrintField(buf, 1, 1, ERROR, ERRORHEADER); /* Colormap */ - if (Verbose < 1) - return; - printfield(buf, 2, 2, CARD16, "sequence number"); - PrintField(buf, 4, 4, CARD32, "bad resource id"); - PrintField(buf, 8, 2, CARD16, "minor opcode"); - PrintField(buf, 10, 1, CARD8, "major opcode"); + printErrorWithValue(buf, CARD32, "bad resource id"); } void GContextError(const unsigned char *buf) { - PrintField(buf, 1, 1, ERROR, ERRORHEADER); /* GContext */ - if (Verbose < 1) - return; - printfield(buf, 2, 2, CARD16, "sequence number"); - PrintField(buf, 4, 4, CARD32, "bad resource id"); - PrintField(buf, 8, 2, CARD16, "minor opcode"); - PrintField(buf, 10, 1, CARD8, "major opcode"); + printErrorWithValue(buf, CARD32, "bad resource id"); } void IDChoiceError(const unsigned char *buf) { - PrintField(buf, 1, 1, ERROR, ERRORHEADER); /* IDChoice */ - if (Verbose < 1) - return; - printfield(buf, 2, 2, CARD16, "sequence number"); - PrintField(buf, 4, 4, CARD32, "bad resource id"); - PrintField(buf, 8, 2, CARD16, "minor opcode"); - PrintField(buf, 10, 1, CARD8, "major opcode"); + printErrorWithValue(buf, CARD32, "bad resource id"); } void NameError(const unsigned char *buf) { - PrintField(buf, 1, 1, ERROR, ERRORHEADER); /* Name */ - if (Verbose < 1) - return; - printfield(buf, 2, 2, CARD16, "sequence number"); - PrintField(buf, 8, 2, CARD16, "minor opcode"); - PrintField(buf, 10, 1, CARD8, "major opcode"); + printErrorNoValue(buf); } void LengthError(const unsigned char *buf) { - PrintField(buf, 1, 1, ERROR, ERRORHEADER); /* Length */ - if (Verbose < 1) - return; - printfield(buf, 2, 2, CARD16, "sequence number"); - PrintField(buf, 8, 2, CARD16, "minor opcode"); - PrintField(buf, 10, 1, CARD8, "major opcode"); + printErrorNoValue(buf); } void ImplementationError(const unsigned char *buf) { - PrintField(buf, 1, 1, ERROR, ERRORHEADER); /* Implementation */ - if (Verbose < 1) - return; - printfield(buf, 2, 2, CARD16, "sequence number"); - PrintField(buf, 8, 2, CARD16, "minor opcode"); - PrintField(buf, 10, 1, CARD8, "major opcode"); + printErrorNoValue(buf); } void UnknownError(const unsigned char *buf) { - PrintField(RBf, 1, 1, ERROR, ERRORHEADER); - if (Verbose < 1) - return; - printfield(buf, 2, 2, CARD16, "sequence number"); - PrintField(buf, 4, 4, CARD32, "bad resource id"); - PrintField(buf, 8, 2, CARD16, "minor opcode"); - PrintField(buf, 10, 1, CARD8, "major opcode"); + printErrorWithValue(buf, CARD32, "bad resource id"); } /* ************************************************************ */ -- cgit v1.2.1