int nbytes, ibpp;
unsigned int nbytes, ibpp;  if(x < 0 || y < 0) return 0;
PutPixel(ximage, x, y, pixel)    register XImage *ximage;    int x;    int y;    unsigned long pixel;{    register char *src;    register char *dst;    register int i;    Pixel px;    int nbytes, ibpp;    ibpp = ximage->bits_per_pixel;    if (ximage->depth == 4)	pixel &= 0xf;    for (i = 0, px = pixel; i < sizeof(unsigned long); i++, px >>= 8)	((unsigned char *) &pixel)[i] = px;    src = &ximage->data[ZINDEX(x, y, ximage)];    dst = (char *) &px;    px = 0;    nbytes = (ibpp + 7) >> 3;    for (i = nbytes; --i >= 0;)	*dst++ = *src++;    ZNORMALIZE(&px, ximage);    _putbits((char *) &pixel, (x * ibpp) & 7, ibpp, (char *) &px);    ZNORMALIZE(&px, ximage);    src = (char *) &px;    dst = &ximage->data[ZINDEX(x, y, ximage)];    for (i = nbytes; --i >= 0;)	*dst++ = *src++;    return 1;}