Why sending the number of the (implementation-dependent) error statement to
the client is a good idea is a bit beyond me, but at least document it so we
can all share the despair.

Signed-off-by: Peter Hutterer <[email protected]>
---
Yes, this is really how it's used in the XKB code.

 include/xkbsrv.h |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/include/xkbsrv.h b/include/xkbsrv.h
index 3b72885..e625282 100644
--- a/include/xkbsrv.h
+++ b/include/xkbsrv.h
@@ -301,6 +301,11 @@ extern _X_EXPORT const char *XkbBinDirectory;
 extern _X_EXPORT CARD32 xkbDebugFlags;
 
 #define        _XkbLibError(c,l,d)     /* Epoch fail */
+
+/* "a" is a "unique" numeric identifier that just defines which error
+ * code statement it is. _XkbErrCode2(4, foo) means "this is the 4th error
+ * statement in this function". lovely.
+ */
 #define        _XkbErrCode2(a,b) ((XID)((((unsigned 
int)(a))<<24)|((b)&0xffffff)))
 #define        _XkbErrCode3(a,b,c)     _XkbErrCode2(a,(((unsigned 
int)(b))<<16)|(c))
 #define        _XkbErrCode4(a,b,c,d) _XkbErrCode3(a,b,((((unsigned 
int)(c))<<8)|(d)))
-- 
1.7.10.2

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to