if(x < 0 || y < 0) return 0;
PutPixel1(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;    for (i=0, px=pixel; i<sizeof(unsigned long); i++, px>>=8)	((unsigned char *)&pixel)[i] = px;    src = &ximage->data[XYINDEX(x, y, ximage)];    dst = (char *)&px;    px = 0;    nbytes = ximage->bitmap_unit >> 3;    for (i = nbytes; --i >= 0; ) *dst++ = *src++;    XYNORMALIZE(&px, ximage);    i = ((x + ximage->xoffset) % ximage->bitmap_unit);    _putbits ((char *)&pixel, i, 1, (char *)&px);    XYNORMALIZE(&px, ximage);    src = (char *) &px;    dst = &ximage->data[XYINDEX(x, y, ximage)];    for (i = nbytes; --i >= 0; )	*dst++ = *src++;    return 1;}