Annotation of researchv9/X11/src/X.V11R1/lib/X/XPending.c, revision 1.1.1.1

1.1       root        1: #include "copyright.h"
                      2: 
                      3: /* $Header: XPending.c,v 11.10 87/09/11 08:05:32 toddb Exp $ */
                      4: /* Copyright    Massachusetts Institute of Technology    1986  */
                      5: 
                      6: #define NEED_EVENTS
                      7: #define NEED_REPLIES
                      8: #include "Xlibint.h"
                      9: 
                     10: /* Read in any pending events and return the number of queued events. */
                     11: 
                     12: int XPending (dpy)
                     13:     register Display *dpy;
                     14: {
                     15:        register int len;
                     16:        int pend;
                     17:        char buf[BUFSIZE];
                     18:        register xReply *rep;
                     19:        
                     20:        LockDisplay(dpy);
                     21:        _XFlush (dpy);
                     22:        if (BytesReadable(dpy->fd, (char *) &pend) < 0)
                     23:            (*_XIOErrorFunction)(dpy);
                     24:        if ((len = pend) < sizeof(xReply)) {
                     25:            UnlockDisplay(dpy);
                     26:            return(dpy->qlen);
                     27:            }
                     28:        else if (len > BUFSIZE)
                     29:            len = BUFSIZE;
                     30:        len /= sizeof(xReply);
                     31:        pend = len * sizeof(xReply);
                     32:        _XRead (dpy, buf, (long) pend);
                     33:        for (rep = (xReply *) buf; len > 0; rep++, len--) {
                     34:            if (rep->generic.type == X_Error)
                     35:                _XError(dpy, (xError *)rep);
                     36:            else   /* must be an event packet */
                     37:                _XEnq(dpy, (xEvent *) rep);
                     38:        }
                     39:        UnlockDisplay(dpy);
                     40:        return(dpy->qlen);
                     41: }
                     42: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.