|
|
1.1 root 1: #include <X/mit-copyright.h>
2:
3: /* $Header: XPending.c,v 10.4 86/02/01 15:37:51 tony Rel $ */
4: /* Copyright Massachusetts Institute of Technology 1985 */
5:
6: #include "XlibInternal.h"
7:
8: /* Read in any pending events and return the number of queued events. */
9:
10: int XPending ()
11: {
12: register int len;
13: int pend;
14: char buf[BUFSIZE];
15: register XRep *rep;
16: register Display *dpy = _XlibCurrentDisplay;
17:
18: _XFlush (dpy);
19: if (ioctl(dpy->fd, FIONREAD, &pend) < 0)
20: _XIOError(dpy);
21: if ((len = pend) < sizeof(XRep))
22: return(dpy->qlen);
23: else if (len > BUFSIZE)
24: len = BUFSIZE;
25: len /= sizeof(XRep);
26: pend = len * sizeof(XRep);
27: _XRead (dpy, buf, pend);
28: for (rep = (XRep *) buf; len > 0; rep++, len--) {
29: if (rep->code == X_Error)
30: _XError(dpy, (XErrorEvent *)rep);
31: else /* must be an event packet */
32: _XEnq(dpy, (XEvent *) rep);
33: }
34: return(dpy->qlen);
35: }
36:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.