|
|
1.1 ! root 1: #include "copyright.h" ! 2: ! 3: /* $Header: XErrDes.c,v 11.16 87/09/13 22:01:00 toddb Exp $ */ ! 4: /* Copyright Massachusetts Institute of Technology 1986 */ ! 5: ! 6: #include <stdio.h> ! 7: #include "Xlibint.h" ! 8: #include <strings.h> ! 9: ! 10: char *XErrorList[] = { ! 11: /* No error */ "", ! 12: /* BadRequest */ "bad request code", ! 13: /* BadValue */ "integer parameter out of range", ! 14: /* BadWindow */ "parameter not a Window", ! 15: /* BadPixmap */ "parameter not a Pixmap", ! 16: /* BadAtom */ "parameter not an Atom", ! 17: /* BadCursor */ "parameter not a Cursor", ! 18: /* BadFont */ "parameter not a Font", ! 19: /* BadMatch */ "parameter mismatch", ! 20: /* BadDrawable */ "parameter not a Pixmap or Window", ! 21: /* BadAccess */ "attempt to access private resource", ! 22: /* BadAlloc */ "insufficient resources", ! 23: /* BadColor */ "no such colormap", ! 24: /* BadGC */ "parameter not a GC", ! 25: /* BadIDChoice */ "invalid resource ID for this connection", ! 26: /* BadName */ "font or color name does not exist", ! 27: /* BadLength */ "request length incorrect; internal Xlib error", ! 28: /* BadImplementation */ "server does not implement function", ! 29: }; ! 30: ! 31: XGetErrorText(dpy, code, buffer, nbytes) ! 32: register int code; ! 33: register Display *dpy; ! 34: char *buffer; ! 35: int nbytes; ! 36: { ! 37: ! 38: char *defaultp = NULL; ! 39: char buf[32]; ! 40: register _XExtension *ext; ! 41: ! 42: sprintf(buf, "%d\0", code); ! 43: ! 44: ! 45: if (code <= (sizeof(XErrorList)/ sizeof (char *)) && code > 0) { ! 46: defaultp = XErrorList[code]; ! 47: XGetErrorDatabaseText(dpy, "XProtoError", buf, defaultp, buffer, nbytes); ! 48: } ! 49: ext = dpy->ext_procs; ! 50: while (ext) { /* call out to any extensions interested */ ! 51: if (ext->error_string != NULL) ! 52: (*ext->error_string)(dpy, code, &ext->codes, buffer, nbytes); ! 53: ext = ext->next; ! 54: } ! 55: return; ! 56: } ! 57: ! 58: /*ARGSUSED*/ ! 59: XGetErrorDatabaseText(dpy, name, type, defaultp, buffer, nbytes) ! 60: register char *name, *type; ! 61: char *defaultp; ! 62: register Display *dpy; ! 63: char *buffer; ! 64: int nbytes; ! 65: { ! 66: if (defaultp == NULL || buffer == NULL) ! 67: return; ! 68: strncpy(buffer, defaultp, nbytes); ! 69: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.