|
|
1.1 ! root 1: #include "copyright.h" ! 2: ! 3: /* $Header: XChProp.c,v 11.12 87/09/11 08:01:37 toddb Exp $ */ ! 4: /* Copyright Massachusetts Institute of Technology 1986 */ ! 5: ! 6: #include "Xlibint.h" ! 7: ! 8: XChangeProperty (dpy, w, property, type, format, mode, data, nelements) ! 9: register Display *dpy; ! 10: Window w; ! 11: Atom property, type; ! 12: int format; /* 8, 16, or 32 */ ! 13: int mode; /* PropModeReplace, PropModePrepend, PropModeAppend */ ! 14: unsigned char *data; ! 15: int nelements; ! 16: { ! 17: register xChangePropertyReq *req; ! 18: register long nbytes = nelements; ! 19: ! 20: LockDisplay(dpy); ! 21: GetReq (ChangeProperty, req); ! 22: req->window = w; ! 23: req->property = property; ! 24: req->type = type; ! 25: req->format = format; ! 26: req->mode = mode; ! 27: req->nUnits = nelements; ! 28: ! 29: switch (format) { ! 30: case 8: ! 31: req->length += (nelements + 3)>>2; ! 32: Data (dpy, (char *)data, nbytes); ! 33: break; ! 34: ! 35: case 16: ! 36: req->length += (nelements + 1)>>1; ! 37: nbytes <<= 1; ! 38: PackData (dpy, (char *) data, nbytes); ! 39: break; ! 40: ! 41: case 32: ! 42: req->length += nelements; ! 43: nbytes <<= 2; ! 44: Data (dpy, (char *) data, nbytes); ! 45: break; ! 46: ! 47: default: ! 48: /* XXX this is an error! */ ; ! 49: } ! 50: ! 51: UnlockDisplay(dpy); ! 52: SyncHandle(); ! 53: } ! 54: ! 55: ! 56: ! 57: ! 58:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.