diff --git a/coders/dib.c b/coders/dib.c
index 8eabe20..f132254 100644
--- a/coders/dib.c
+++ b/coders/dib.c
@@ -71,10 +71,10 @@
*/
typedef struct _DIBInfo
{
- unsigned int
+ size_t
size;
- int
+ ssize_t
width,
height;
@@ -82,7 +82,7 @@
planes,
bits_per_pixel;
- unsigned int
+ size_t
compression,
image_size,
x_pixels,
@@ -94,7 +94,7 @@
alpha_mask,
colors_important;
- int
+ ssize_t
colorspace;
PointInfo
@@ -1162,7 +1162,7 @@
*q++=(unsigned char)(word >> 8);
p++;
}
- for (x=2L*image->columns; x < (ssize_t) bytes_per_line; x++)
+ for (x=(ssize_t) (2*image->columns); x < (ssize_t) bytes_per_line; x++)
*q++=0x00;
status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
image->rows);
@@ -1193,7 +1193,7 @@
p++;
}
if (dib_info.bits_per_pixel == 24)
- for (x=3L*image->columns; x < (ssize_t) bytes_per_line; x++)
+ for (x=(ssize_t) (3*image->columns); x < (ssize_t) bytes_per_line; x++)
*q++=0x00;
status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
image->rows);
@@ -1229,17 +1229,17 @@
/*
Write DIB header.
*/
- (void) WriteBlobLSBLong(image,dib_info.size);
+ (void) WriteBlobLSBLong(image,(unsigned int) dib_info.size);
(void) WriteBlobLSBLong(image,dib_info.width);
(void) WriteBlobLSBLong(image,(unsigned short) dib_info.height);
(void) WriteBlobLSBShort(image,(unsigned short) dib_info.planes);
(void) WriteBlobLSBShort(image,dib_info.bits_per_pixel);
- (void) WriteBlobLSBLong(image,dib_info.compression);
- (void) WriteBlobLSBLong(image,dib_info.image_size);
- (void) WriteBlobLSBLong(image,dib_info.x_pixels);
- (void) WriteBlobLSBLong(image,dib_info.y_pixels);
- (void) WriteBlobLSBLong(image,dib_info.number_colors);
- (void) WriteBlobLSBLong(image,dib_info.colors_important);
+ (void) WriteBlobLSBLong(image,(unsigned int) dib_info.compression);
+ (void) WriteBlobLSBLong(image,(unsigned int) dib_info.image_size);
+ (void) WriteBlobLSBLong(image,(unsigned int) dib_info.x_pixels);
+ (void) WriteBlobLSBLong(image,(unsigned int) dib_info.y_pixels);
+ (void) WriteBlobLSBLong(image,(unsigned int) dib_info.number_colors);
+ (void) WriteBlobLSBLong(image,(unsigned int) dib_info.colors_important);
if (image->storage_class == PseudoClass)
{
if (dib_info.bits_per_pixel <= 8)