int y;
unsigned int y;
PutImagePixels1(image, width, height, pixelindex, pixels)    XImage *image;    unsigned int width;    unsigned int height;    unsigned int *pixelindex;    Pixel *pixels;{    if (image->byte_order != image->bitmap_bit_order)	PutImagePixels(image, width, height, pixelindex, pixels);    else {	unsigned int *iptr;	int y;	char *data;#ifdef WITHOUT_SPEEDUPS	int x;	data = image->data;	iptr = pixelindex;	if (image->bitmap_bit_order == MSBFirst)	    for (y = 0; y < height; y++)		for (x = 0; x < width; x++, iptr++) {		    if (pixels[*iptr] & 1)			data[ZINDEX1(x, y, image)] |= 0x80 >> (x & 7);		    else			data[ZINDEX1(x, y, image)] &= ~(0x80 >> (x & 7));		}	else	    for (y = 0; y < height; y++)		for (x = 0; x < width; x++, iptr++) {		    if (pixels[*iptr] & 1)			data[ZINDEX1(x, y, image)] |= 1 << (x & 7);		    else			data[ZINDEX1(x, y, image)] &= ~(1 << (x & 7));		}#else  /* WITHOUT_SPEEDUPS */	char value;	char *data_ptr, *max_data;	int bpl = image->bytes_per_line;	int diff, count;	data = image->data;	iptr = pixelindex;	diff = width & 7;	width >>= 3;	if (image->bitmap_bit_order == MSBFirst)	    for (y = 0; y < height; y++) {		data_ptr = data;		max_data = data_ptr + width;		while (data_ptr < max_data) {		    value = 0;		    value = (value << 1) | (pixels[*(iptr++)] & 1);		    value = (value << 1) | (pixels[*(iptr++)] & 1);		    value = (value << 1) | (pixels[*(iptr++)] & 1);		    value = (value << 1) | (pixels[*(iptr++)] & 1);		    value = (value << 1) | (pixels[*(iptr++)] & 1);		    value = (value << 1) | (pixels[*(iptr++)] & 1);		    value = (value << 1) | (pixels[*(iptr++)] & 1);		    value = (value << 1) | (pixels[*(iptr++)] & 1);		    *(data_ptr++) = value;		}		if (diff) {		    value = 0;		    for (count = 0; count < diff; count++) {			if (pixels[*(iptr++)] & 1)			    value |= (0x80 >> count);		    }		    *(data_ptr) = value;		}		data += bpl;	    }	else	    for (y = 0; y < height; y++) {		data_ptr = data;		max_data = data_ptr + width;		while (data_ptr < max_data) {		    value = 0;		    iptr += 8;		    value = (value << 1) | (pixels[*(--iptr)] & 1);		    value = (value << 1) | (pixels[*(--iptr)] & 1);		    value = (value << 1) | (pixels[*(--iptr)] & 1);		    value = (value << 1) | (pixels[*(--iptr)] & 1);		    value = (value << 1) | (pixels[*(--iptr)] & 1);		    value = (value << 1) | (pixels[*(--iptr)] & 1);		    value = (value << 1) | (pixels[*(--iptr)] & 1);		    value = (value << 1) | (pixels[*(--iptr)] & 1);		    iptr += 8;		    *(data_ptr++) = value;		}		if (diff) {		    value = 0;		    for (count = 0; count < diff; count++) {			if (pixels[*(iptr++)] & 1)			    value |= (1 << count);		    }		    *(data_ptr) = value;		}		data += bpl;	    }#endif /* WITHOUT_SPEEDUPS */    }}