|
|
researchv9-SUN3(old)
#include "copyright.h"
/* $Header: /var/lib/cvsd/repos/research/researchv9/X11/src/X.V11R1/lib/X/XQuTree.c,v 1.1.1.1 2018/04/24 17:22:00 root Exp $ */
/* Copyright Massachusetts Institute of Technology 1986 */
#define NEED_REPLIES
#include "Xlibint.h"
Status XQueryTree (dpy, w, root, parent, children, nchildren)
register Display *dpy;
Window w;
Window *root;
Window *parent; /* RETURN */
Window **children; /* RETURN */
unsigned int *nchildren; /* RETURN */
{
long nbytes;
xQueryTreeReply rep;
register xResourceReq *req;
LockDisplay(dpy);
GetResReq(QueryTree, w, req);
if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
return (0);
}
*parent = rep.parent;
*root = rep.root;
*nchildren = rep.nChildren;
*children = (Window *) NULL;
if (rep.nChildren != 0) {
*children = (Window *) Xmalloc (
(unsigned)(nbytes = rep.nChildren * sizeof(Window)));
_XRead (dpy, (char *) *children, nbytes);
}
/* Note: won't work if sizeof(Window) is not 32 bits! */
UnlockDisplay(dpy);
SyncHandle();
return (1);
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.