#include "copyright.h"

/* $XConsortium: XStColor.c,v 11.9 88/09/06 16:09:50 jim Exp $ */
/* Copyright    Massachusetts Institute of Technology    1986	 */

#include "Xlibint.h"

XStoreColor (dpy, cmap, def)
  register Display *dpy;
  Colormap cmap;
  XColor *def;
{
  xColorItem *citem;
  register xStoreColorsReq *req;
#ifdef MUSTCOPY
  xColorItem citemdata;
  long len = SIZEOF (xColorItem);

  citem = &citemdata;
#endif				/* MUSTCOPY */

  LockDisplay (dpy);
  GetReqExtra (StoreColors, SIZEOF (xColorItem), req);	/* assume size is 4*n */

  req->cmap = cmap;

#ifndef MUSTCOPY
  citem = (xColorItem *) NEXTPTR (req, xStoreColorsReq);
#endif				/* not MUSTCOPY */

  citem->pixel = def->pixel;
  citem->red = def->red;
  citem->green = def->green;
  citem->blue = def->blue;
  citem->flags = def->flags;	/* do_red, do_green, do_blue */

#ifdef MUSTCOPY
  dpy->bufptr -= SIZEOF (xColorItem);	/* adjust for GetReqExtra */
  Data (dpy, (char *) citem, len);
#endif				/* MUSTCOPY */

  UnlockDisplay (dpy);
  SyncHandle ();
}
