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

1.1       root        1: #include "copyright.h"
                      2: 
                      3: /* $Header: XGetMoEv.c,v 11.13 87/09/11 08:04:16 toddb Exp $ */
                      4: /* Copyright    Massachusetts Institute of Technology    1986  */
                      5: 
                      6: #define NEED_REPLIES
                      7: #include "Xlibint.h"
                      8: 
                      9: XTimeCoord *XGetMotionEvents(dpy, w, start, stop, nEvents)
                     10:     register Display *dpy;
                     11:     Time start, stop;
                     12:     Window w;
                     13:     int *nEvents;  /* RETURN */
                     14: {       
                     15:     xGetMotionEventsReply rep;
                     16:     register xGetMotionEventsReq *req;
                     17:     XTimeCoord *tc;
                     18:     long nbytes;
                     19:     LockDisplay(dpy);
                     20:     GetReq(GetMotionEvents, req);
                     21:     req->window = w;
                     22: /* XXX is this right for all machines? */
                     23:     req->start = start;
                     24:     req->stop  = stop;
                     25:     if (!_XReply (dpy, (xReply *)&rep, 0, xFalse)) {
                     26:        UnlockDisplay(dpy);
                     27:         SyncHandle();
                     28:        *nEvents = 0;
                     29:        return (NULL);
                     30:        }
                     31:     
                     32:     *nEvents = rep.nEvents;
                     33:     tc = (XTimeCoord *) Xmalloc (
                     34:                (unsigned)(nbytes = (long)rep.nEvents * sizeof (XTimeCoord)));
                     35:     if (!tc) {
                     36:        /* XXX this is wrong!!  we need to read and throw away the data
                     37:            somehow.  Probably we should try to malloc less space and repeatedly
                     38:            read the events into the smaller space.... */
                     39:        *nEvents = 0;
                     40:        UnlockDisplay(dpy);
                     41:         SyncHandle();
                     42:        return (NULL);
                     43:        }
                     44:     _XRead (dpy, (char *) tc, nbytes);
                     45:     /* XXX need to do something different if short isn't 16-bits, or long
                     46:        isn't 32-bits, since in that case XTimeCoord won't be the same as
                     47:        protocol structure */
                     48: 
                     49:     UnlockDisplay(dpy);
                     50:     SyncHandle();
                     51:     return (tc);
                     52: }
                     53: 

unix.superglobalmegacorp.com

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