if (quantum_bits > quantum_info->state.bits)
quantum_bits=quantum_info->state.bits;
i-=(ssize_t) quantum_bits;
+ if (i < 0)
+ i=0;
if (quantum_info->state.bits == 8UL)
*pixels='\0';
quantum_info->state.bits-=quantum_bits;
{
if (image->storage_class != DirectClass)
{
+ unsigned int
+ value;
+
+ value=(unsigned int) ClampToQuantum(pixel->index);
switch (image->depth)
{
case 32:
{
- *pixels++=(unsigned char) ((size_t) pixel->index >> 24);
- *pixels++=(unsigned char) ((size_t) pixel->index >> 16);
+ *pixels++=(unsigned char) (value >> 24);
+ *pixels++=(unsigned char) (value >> 16);
}
case 16:
- *pixels++=(unsigned char) ((size_t) pixel->index >> 8);
+ *pixels++=(unsigned char) (value >> 8);
case 8:
{
- *pixels++=(unsigned char) pixel->index;
+ *pixels++=(unsigned char) value;
break;
}
default: