diff --git a/coders/art.c b/coders/art.c
index 060a23b..72aec52 100644
--- a/coders/art.c
+++ b/coders/art.c
@@ -341,7 +341,7 @@
     if (count != (ssize_t) length)
       ThrowWriterException(CorruptImageError,"UnableToWriteImageData");
     count=WriteBlob(image,(size_t) (-(ssize_t) length) & 0x01,pixels);
-    if (SetImageProgress(image,SaveImageTag,y,image->rows) == MagickFalse)
+    if (SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows) == MagickFalse)
       break;
   }
   quantum_info=DestroyQuantumInfo(quantum_info);
diff --git a/coders/avs.c b/coders/avs.c
index db04a9e..c72650f 100644
--- a/coders/avs.c
+++ b/coders/avs.c
@@ -388,7 +388,7 @@
       if (count != (ssize_t) (q-pixels))
         break;
       if ((image->previous == (Image *) NULL) &&
-          (SetImageProgress(image,SaveImageTag,y,image->rows) == MagickFalse))
+          (SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows) == MagickFalse))
         break;
     }
     pixels=(unsigned char *) RelinquishMagickMemory(pixels);
diff --git a/coders/bmp.c b/coders/bmp.c
index ac4f53b..ce3f5d3 100644
--- a/coders/bmp.c
+++ b/coders/bmp.c
@@ -402,7 +402,8 @@
     */
     *q++=(unsigned char) 0x00;
     *q++=(unsigned char) 0x00;
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
@@ -1017,7 +1018,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1057,7 +1059,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1092,7 +1095,8 @@
           offset=(MagickOffsetType) (image->rows-y-1);
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1156,7 +1160,8 @@
           offset=(MagickOffsetType) (image->rows-y-1);
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1188,7 +1193,8 @@
           offset=(MagickOffsetType) (image->rows-y-1);
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1245,7 +1251,8 @@
           offset=(MagickOffsetType) (image->rows-y-1);
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1643,7 +1650,8 @@
             *q++=0x00;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1689,7 +1697,8 @@
             *q++=0x00;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1714,7 +1723,8 @@
             *q++=0x00;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1743,7 +1753,8 @@
             *q++=0x00;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1771,7 +1782,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
diff --git a/coders/braille.c b/coders/braille.c
index 49b1993..d0d2dd8 100644
--- a/coders/braille.c
+++ b/coders/braille.c
@@ -334,7 +334,8 @@
     }
     if (!iso_11548_1)
       (void) WriteBlobByte(image,'\n');
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/cin.c b/coders/cin.c
index 94407b7..dcd5563 100644
--- a/coders/cin.c
+++ b/coders/cin.c
@@ -728,7 +728,8 @@
       break;
     if (image->previous == (Image *) NULL)
       {
-        status=SetImageProgress(image,LoadImageTag,y,image->rows);
+        status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -1169,7 +1170,8 @@
     count=WriteBlob(image,length,pixels);
     if (count != (ssize_t) length)
       break;
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/cip.c b/coders/cip.c
index 40a1582..739457c 100644
--- a/coders/cip.c
+++ b/coders/cip.c
@@ -256,7 +256,8 @@
         (void) FormatMagickString(buffer,MaxTextExtent,"%02x",~byte);
         (void) WriteBlobString(image,buffer);
       }
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/cmyk.c b/coders/cmyk.c
index da309e4..0dba51a 100644
--- a/coders/cmyk.c
+++ b/coders/cmyk.c
@@ -275,7 +275,8 @@
             }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -371,7 +372,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1278,7 +1280,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1328,7 +1331,8 @@
             }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
diff --git a/coders/dcm.c b/coders/dcm.c
index 518a38f..fff025b 100644
--- a/coders/dcm.c
+++ b/coders/dcm.c
@@ -3742,7 +3742,8 @@
               break;
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
@@ -3897,7 +3898,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
diff --git a/coders/dib.c b/coders/dib.c
index 485ac05..9ae1748 100644
--- a/coders/dib.c
+++ b/coders/dib.c
@@ -1105,7 +1105,8 @@
            }
         for (x=(ssize_t) (image->columns+7)/8; x < (ssize_t) bytes_per_line; x++)
           *q++=0x00;
-        status=SetImageProgress(image,SaveImageTag,y,image->rows);
+        status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -1127,7 +1128,8 @@
           *q++=(unsigned char) indexes[x];
         for ( ; x < (ssize_t) bytes_per_line; x++)
           *q++=0x00;
-        status=SetImageProgress(image,SaveImageTag,y,image->rows);
+        status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -1158,7 +1160,8 @@
         }
         for (x=2L*image->columns; x < (ssize_t) bytes_per_line; x++)
           *q++=0x00;
-        status=SetImageProgress(image,SaveImageTag,y,image->rows);
+        status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -1188,7 +1191,8 @@
         if (dib_info.bits_per_pixel == 24)
           for (x=3L*image->columns; x < (ssize_t) bytes_per_line; x++)
             *q++=0x00;
-        status=SetImageProgress(image,SaveImageTag,y,image->rows);
+        status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
diff --git a/coders/dpx.c b/coders/dpx.c
index ce374bb..971ed93 100644
--- a/coders/dpx.c
+++ b/coders/dpx.c
@@ -1107,7 +1107,8 @@
           MagickBooleanType
             proceed;
 
-          proceed=SetImageProgress(image,LoadImageTag,row,image->rows);
+          proceed=SetImageProgress(image,LoadImageTag,(MagickOffsetType) row,
+                image->rows);
           if (proceed == MagickFalse)
             status=MagickFalse;
         }
@@ -1819,7 +1820,8 @@
     count=WriteBlob(image,extent,pixels);
     if (count != (ssize_t) extent)
       break;
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/fits.c b/coders/fits.c
index 75f3706..c9ce09e 100644
--- a/coders/fits.c
+++ b/coders/fits.c
@@ -455,7 +455,8 @@
         break;
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,LoadImageTag,y,image->rows);
+          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
@@ -720,7 +721,8 @@
     count=WriteBlob(image,length,pixels);
     if (count != (ssize_t) length)
       break;
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/fpx.c b/coders/fpx.c
index f4277de..5fda06b 100644
--- a/coders/fpx.c
+++ b/coders/fpx.c
@@ -482,7 +482,8 @@
     }
     if (SyncAuthenticPixels(image,exception) == MagickFalse)
       break;
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
@@ -996,7 +997,8 @@
     fpx_status=FPX_WriteImageLine(flashpix,&fpx_info);
     if (fpx_status != FPX_OK)
       break;
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/gray.c b/coders/gray.c
index 71e54b4..868d63b 100644
--- a/coders/gray.c
+++ b/coders/gray.c
@@ -243,7 +243,8 @@
         }
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,LoadImageTag,y,image->rows);
+          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
@@ -439,7 +440,8 @@
         break;
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,SaveImageTag,y,image->rows);
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
diff --git a/coders/ipl.c b/coders/ipl.c
index 6babdf6..ec18f52 100644
--- a/coders/ipl.c
+++ b/coders/ipl.c
@@ -658,7 +658,8 @@
       (void) WriteBlob(image, image->columns*image->depth/8, pixels);
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,SaveImageTag,y,image->rows);
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
diff --git a/coders/jbig.c b/coders/jbig.c
index 846d89a..1726407 100644
--- a/coders/jbig.c
+++ b/coders/jbig.c
@@ -243,7 +243,8 @@
     }
     if (SyncAuthenticPixels(image,exception) == MagickFalse)
       break;
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
@@ -485,7 +486,8 @@
         *q++=byte << (8-bit);
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,SaveImageTag,y,image->rows);
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
diff --git a/coders/jp2.c b/coders/jp2.c
index 3280c69..473e5bf 100644
--- a/coders/jp2.c
+++ b/coders/jp2.c
@@ -582,7 +582,8 @@
     }
     if (SyncAuthenticPixels(image,exception) == MagickFalse)
       break;
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
@@ -941,7 +942,8 @@
     for (i=0; i < (ssize_t) number_components; i++)
       (void) jas_image_writecmpt(jp2_image,(short) i,0,(unsigned int) y,
         (unsigned int) image->columns,1,pixels[i]);
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/jpeg.c b/coders/jpeg.c
index 27e11d5..1d09810 100644
--- a/coders/jpeg.c
+++ b/coders/jpeg.c
@@ -2183,7 +2183,7 @@
             p++;
           }
           (void) jpeg_write_scanlines(&jpeg_info,scanline,1);
-          if (SetImageProgress(image,SaveImageTag,y,image->rows) == MagickFalse)
+          if (SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows) == MagickFalse)
             break;
         }
       else
@@ -2206,7 +2206,7 @@
               p++;
             }
             (void) jpeg_write_scanlines(&jpeg_info,scanline,1);
-            if (SetImageProgress(image,SaveImageTag,y,image->rows) == MagickFalse)
+            if (SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows) == MagickFalse)
               break;
           }
         else
@@ -2242,7 +2242,7 @@
               p++;
             }
             (void) jpeg_write_scanlines(&jpeg_info,scanline,1);
-            if (SetImageProgress(image,SaveImageTag,y,image->rows) == MagickFalse)
+            if (SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows) == MagickFalse)
               break;
           }
     }
@@ -2267,7 +2267,7 @@
           p++;
         }
         (void) jpeg_write_scanlines(&jpeg_info,scanline,1);
-        if (SetImageProgress(image,SaveImageTag,y,image->rows) == MagickFalse)
+        if (SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows) == MagickFalse)
           break;
       }
     else
@@ -2296,7 +2296,8 @@
             p++;
           }
           (void) jpeg_write_scanlines(&jpeg_info,scanline,1);
-          status=SetImageProgress(image,SaveImageTag,y,image->rows);
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
@@ -2332,7 +2333,8 @@
             p++;
           }
           (void) jpeg_write_scanlines(&jpeg_info,scanline,1);
-          status=SetImageProgress(image,SaveImageTag,y,image->rows);
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
diff --git a/coders/matte.c b/coders/matte.c
index c7e4783..eb301c3 100644
--- a/coders/matte.c
+++ b/coders/matte.c
@@ -203,7 +203,8 @@
     }
     if (SyncAuthenticPixels(matte_image,exception) == MagickFalse)
       break;
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/miff.c b/coders/miff.c
index b4d4cd7..399326e 100644
--- a/coders/miff.c
+++ b/coders/miff.c
@@ -2296,9 +2296,13 @@
           break;
         }
       }
-      if ((image->previous == (Image *) NULL) &&
-          (SetImageProgress(image,SaveImageTag,y,image->rows) == MagickFalse))
-        break;
+      if (image->previous == (Image *) NULL)
+        {
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+            image->rows);
+          if (status == MagickFalse)
+            break;
+        }
     }
     quantum_info=DestroyQuantumInfo(quantum_info);
     compress_pixels=(unsigned char *) RelinquishMagickMemory(compress_pixels);
diff --git a/coders/mono.c b/coders/mono.c
index cdef20e..71edd7f 100644
--- a/coders/mono.c
+++ b/coders/mono.c
@@ -184,7 +184,8 @@
     }
     if (SyncAuthenticPixels(image,exception) == MagickFalse)
       break;
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
@@ -355,7 +356,8 @@
     }
     if (bit != 0)
       (void) WriteBlobByte(image,(unsigned char) (byte >> (8-bit)));
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/mtv.c b/coders/mtv.c
index 8b8b705..8764345 100644
--- a/coders/mtv.c
+++ b/coders/mtv.c
@@ -186,7 +186,8 @@
         break;
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,LoadImageTag,y,image->rows);
+          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
@@ -387,7 +388,8 @@
       (void) WriteBlob(image,(size_t) (q-pixels),pixels);
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,SaveImageTag,y,image->rows);
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
diff --git a/coders/otb.c b/coders/otb.c
index 5102d14..ea8530a 100644
--- a/coders/otb.c
+++ b/coders/otb.c
@@ -193,7 +193,8 @@
       break;
     if (image->previous == (Image *) NULL)
       {
-        status=SetImageProgress(image,LoadImageTag,y,image->rows);
+        status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -373,7 +374,8 @@
       (void) WriteBlobByte(image,byte);
     if (image->previous == (Image *) NULL)
       {
-        status=SetImageProgress(image,SaveImageTag,y,image->rows);
+        status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
diff --git a/coders/palm.c b/coders/palm.c
index 86ca8ef..4c1b04f 100644
--- a/coders/palm.c
+++ b/coders/palm.c
@@ -498,7 +498,8 @@
         }
         if (image->previous == (Image *) NULL)
           {
-            status=SetImageProgress(image,LoadImageTag,y,image->rows);
+            status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
             if (status == MagickFalse)
               break;
           }
diff --git a/coders/pcd.c b/coders/pcd.c
index 664649d..ddcc5bc 100644
--- a/coders/pcd.c
+++ b/coders/pcd.c
@@ -797,7 +797,8 @@
       break;
     if (image->previous == (Image *) NULL)
       {
-        status=SetImageProgress(image,LoadImageTag,y,image->rows);
+        status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
diff --git a/coders/pcx.c b/coders/pcx.c
index 46b0ba6..20a27a2 100644
--- a/coders/pcx.c
+++ b/coders/pcx.c
@@ -617,7 +617,8 @@
         break;
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,LoadImageTag,y,image->rows);
+          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
@@ -1041,7 +1042,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1063,7 +1065,8 @@
               break;
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
@@ -1116,7 +1119,8 @@
                 break;
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                  status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
diff --git a/coders/pdb.c b/coders/pdb.c
index 160a355..82801fb 100644
--- a/coders/pdb.c
+++ b/coders/pdb.c
@@ -451,7 +451,8 @@
         }
         if (SyncAuthenticPixels(image,exception) == MagickFalse)
           break;
-        status=SetImageProgress(image,LoadImageTag,y,image->rows);
+        status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -486,7 +487,8 @@
         }
         if (SyncAuthenticPixels(image,exception) == MagickFalse)
           break;
-        status=SetImageProgress(image,LoadImageTag,y,image->rows);
+        status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -515,7 +517,8 @@
         }
         if (SyncAuthenticPixels(image,exception) == MagickFalse)
           break;
-        status=SetImageProgress(image,LoadImageTag,y,image->rows);
+        status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -881,7 +884,8 @@
         buffer[literal+repeat]=0x00;
       }
     }
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/pdf.c b/coders/pdf.c
index 498d5ad..a759b38 100644
--- a/coders/pdf.c
+++ b/coders/pdf.c
@@ -1572,7 +1572,8 @@
               }
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                  status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -1614,7 +1615,8 @@
               }
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                  status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -1680,7 +1682,8 @@
               }
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                  status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -1726,7 +1729,8 @@
               }
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                  status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -1769,7 +1773,8 @@
                   *q++=(unsigned char) indexes[x];
                 if (image->previous == (Image *) NULL)
                   {
-                    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                     if (status == MagickFalse)
                       break;
                   }
@@ -1808,7 +1813,8 @@
                   Ascii85Encode(image,(unsigned char) indexes[x]);
                 if (image->previous == (Image *) NULL)
                   {
-                    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                     if (status == MagickFalse)
                       break;
                   }
diff --git a/coders/pict.c b/coders/pict.c
index 1430c1c..a527ae1 100644
--- a/coders/pict.c
+++ b/coders/pict.c
@@ -1889,7 +1889,8 @@
         packed_scanline);
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,SaveImageTag,y,image->rows);
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
@@ -1943,7 +1944,8 @@
             packed_scanline);
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
diff --git a/coders/pix.c b/coders/pix.c
index 5d4be1b..2ee8bef 100644
--- a/coders/pix.c
+++ b/coders/pix.c
@@ -202,7 +202,8 @@
         break;
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,LoadImageTag,y,image->rows);
+          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
diff --git a/coders/png.c b/coders/png.c
index 630e644..b87ea6a 100644
--- a/coders/png.c
+++ b/coders/png.c
@@ -2506,7 +2506,8 @@
 #endif
         if ((image->previous == (Image *) NULL) && (num_passes == 1))
           {
-            status=SetImageProgress(image,LoadImageTag,y,image->rows);
+            status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
             if (status == MagickFalse)
               break;
           }
@@ -2688,7 +2689,8 @@
           break;
         if ((image->previous == (Image *) NULL) && (num_passes == 1))
           {
-            status=SetImageProgress(image,LoadImageTag,y,image->rows);
+            status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
             if (status == MagickFalse)
               break;
           }
diff --git a/coders/pnm.c b/coders/pnm.c
index 4d4e45f..20c7f9e 100644
--- a/coders/pnm.c
+++ b/coders/pnm.c
@@ -448,7 +448,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -502,7 +503,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -567,7 +569,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -620,7 +623,8 @@
                 MagickBooleanType
                   proceed;
 
-                proceed=SetImageProgress(image,LoadImageTag,row,image->rows);
+                proceed=SetImageProgress(image,LoadImageTag,(MagickOffsetType)
+                  row,image->rows);
                 if (proceed == MagickFalse)
                   status=MagickFalse;
               }
@@ -696,7 +700,8 @@
                 MagickBooleanType
                   proceed;
 
-                proceed=SetImageProgress(image,LoadImageTag,row,image->rows);
+                proceed=SetImageProgress(image,LoadImageTag,(MagickOffsetType) row,
+                image->rows);
                 if (proceed == MagickFalse)
                   status=MagickFalse;
               }
@@ -805,7 +810,8 @@
                 MagickBooleanType
                   proceed;
 
-                proceed=SetImageProgress(image,LoadImageTag,row,image->rows);
+                proceed=SetImageProgress(image,LoadImageTag,(MagickOffsetType) row,
+                image->rows);
                 if (proceed == MagickFalse)
                   status=MagickFalse;
               }
@@ -984,7 +990,8 @@
                 MagickBooleanType
                   proceed;
 
-                proceed=SetImageProgress(image,LoadImageTag,row,image->rows);
+                proceed=SetImageProgress(image,LoadImageTag,(MagickOffsetType) row,
+                image->rows);
                 if (proceed == MagickFalse)
                   status=MagickFalse;
               }
@@ -1215,7 +1222,8 @@
                 MagickBooleanType
                   proceed;
 
-                proceed=SetImageProgress(image,LoadImageTag,row,image->rows);
+                proceed=SetImageProgress(image,LoadImageTag,(MagickOffsetType) row,
+                image->rows);
                 if (proceed == MagickFalse)
                   status=MagickFalse;
               }
@@ -1665,7 +1673,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1723,7 +1732,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1784,7 +1794,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1822,7 +1833,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1904,7 +1916,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1977,7 +1990,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -2141,7 +2155,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -2176,7 +2191,8 @@
           (void) WriteBlob(image,extent,pixels);
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
diff --git a/coders/ps.c b/coders/ps.c
index 0594328..230c6b6 100644
--- a/coders/ps.c
+++ b/coders/ps.c
@@ -1748,7 +1748,8 @@
               }
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                  status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -1817,7 +1818,8 @@
                 };
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                  status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -1889,7 +1891,8 @@
                   }
                 if (image->previous == (Image *) NULL)
                   {
-                    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                     if (status == MagickFalse)
                       break;
                   }
@@ -1939,7 +1942,8 @@
                 }
                 if (image->previous == (Image *) NULL)
                   {
-                    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                     if (status == MagickFalse)
                       break;
                   }
@@ -2025,7 +2029,8 @@
                   MagickMin(length,0xff),q);
                 if (image->previous == (Image *) NULL)
                   {
-                    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                     if (status == MagickFalse)
                       break;
                   }
@@ -2064,7 +2069,8 @@
                 }
                 if (image->previous == (Image *) NULL)
                   {
-                    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                     if (status == MagickFalse)
                       break;
                   }
diff --git a/coders/ps2.c b/coders/ps2.c
index 958f7a2..f41c2bf 100644
--- a/coders/ps2.c
+++ b/coders/ps2.c
@@ -790,7 +790,7 @@
                 *q++=ScaleQuantumToChar(PixelIntensityToQuantum(p));
                 p++;
               }
-              progress=SetImageProgress(image,SaveImageTag,y,image->rows);
+              progress=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows);
               if (progress == MagickFalse)
                 break;
             }
@@ -825,7 +825,7 @@
                   ScaleQuantumToChar(PixelIntensityToQuantum(p)));
                 p++;
               }
-              progress=SetImageProgress(image,SaveImageTag,y,image->rows);
+              progress=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows);
               if (progress == MagickFalse)
                 break;
             }
@@ -906,7 +906,7 @@
                       }
                   p++;
                 }
-                progress=SetImageProgress(image,SaveImageTag,y,image->rows);
+                progress=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows);
                 if (progress == MagickFalse)
                   break;
               }
@@ -964,7 +964,7 @@
                       }
                   p++;
                 }
-                progress=SetImageProgress(image,SaveImageTag,y,image->rows);
+                progress=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows);
                 if (progress == MagickFalse)
                   break;
               }
@@ -1025,7 +1025,7 @@
                 indexes=GetVirtualIndexQueue(image);
                 for (x=0; x < (ssize_t) image->columns; x++)
                   *q++=(unsigned char) indexes[x];
-                progress=SetImageProgress(image,SaveImageTag,y,image->rows);
+                progress=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows);
                 if (progress == MagickFalse)
                   break;
               }
@@ -1057,7 +1057,7 @@
                 indexes=GetVirtualIndexQueue(image);
                 for (x=0; x < (ssize_t) image->columns; x++)
                   Ascii85Encode(image,(unsigned char) indexes[x]);
-                progress=SetImageProgress(image,SaveImageTag,y,image->rows);
+                progress=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows);
                 if (progress == MagickFalse)
                   break;
               }
diff --git a/coders/ps3.c b/coders/ps3.c
index 1ee28de..73eadc4 100644
--- a/coders/ps3.c
+++ b/coders/ps3.c
@@ -286,7 +286,8 @@
       }
     if (image->previous == (Image *) NULL)
       {
-        status=SetImageProgress(image,SaveImageTag,y,image->rows);
+        status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -363,7 +364,8 @@
           p++;
         }
       }
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
@@ -413,7 +415,8 @@
       *q++=(unsigned char) indexes[x];
     if (image->previous == (Image *) NULL)
       {
-        status=SetImageProgress(image,SaveImageTag,y,image->rows);
+        status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
diff --git a/coders/raw.c b/coders/raw.c
index 9fa8034..0a6ca71 100644
--- a/coders/raw.c
+++ b/coders/raw.c
@@ -241,7 +241,8 @@
         }
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,LoadImageTag,y,image->rows);
+          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
@@ -585,7 +586,8 @@
         break;
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,SaveImageTag,y,image->rows);
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
diff --git a/coders/rgb.c b/coders/rgb.c
index 956fd3a..842881c 100644
--- a/coders/rgb.c
+++ b/coders/rgb.c
@@ -309,7 +309,8 @@
             }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -381,7 +382,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -922,7 +924,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -953,7 +956,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
diff --git a/coders/rla.c b/coders/rla.c
index 9a3fdb3..a1a69dc 100644
--- a/coders/rla.c
+++ b/coders/rla.c
@@ -376,7 +376,8 @@
         while (runlength > 0);
       }
     }
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/rle.c b/coders/rle.c
index 14aabdc..4b97a68 100644
--- a/coders/rle.c
+++ b/coders/rle.c
@@ -452,7 +452,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -505,7 +506,8 @@
                 break;
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                  status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -534,7 +536,8 @@
                 break;
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                  status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
diff --git a/coders/sct.c b/coders/sct.c
index 4d74831..2b7f0f6 100644
--- a/coders/sct.c
+++ b/coders/sct.c
@@ -273,7 +273,8 @@
       if ((image->columns % 2) != 0)
         (void) ReadBlobByte(image);  /* pad */
     }
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/sgi.c b/coders/sgi.c
index 2494f1b..2cf4d4b 100644
--- a/coders/sgi.c
+++ b/coders/sgi.c
@@ -572,7 +572,8 @@
                 break;
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                  status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -600,7 +601,8 @@
               break;
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
@@ -637,7 +639,8 @@
                 break;
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                  status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -661,7 +664,8 @@
               break;
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
@@ -1006,7 +1010,8 @@
         }
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,SaveImageTag,y,image->rows);
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
diff --git a/coders/sun.c b/coders/sun.c
index 0cf90f0..297a985 100644
--- a/coders/sun.c
+++ b/coders/sun.c
@@ -462,7 +462,8 @@
           break;
         if (image->previous == (Image *) NULL)
           {
-            status=SetImageProgress(image,LoadImageTag,y,image->rows);
+            status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
             if (status == MagickFalse)
               break;
           }
@@ -489,7 +490,8 @@
               break;
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
@@ -544,7 +546,8 @@
               break;
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
@@ -855,7 +858,8 @@
           (void) WriteBlob(image,(size_t) (q-pixels),pixels);
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -902,7 +906,8 @@
               (void) WriteBlobByte(image,0);  /* pad scanline */
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
@@ -940,7 +945,8 @@
               (void) WriteBlobByte(image,0);  /* pad scanline */
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
diff --git a/coders/svg.c b/coders/svg.c
index c526026..b3afaef 100644
--- a/coders/svg.c
+++ b/coders/svg.c
@@ -2880,7 +2880,8 @@
               break;
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
diff --git a/coders/tga.c b/coders/tga.c
index bbacc4a..fa23ceb 100644
--- a/coders/tga.c
+++ b/coders/tga.c
@@ -471,7 +471,8 @@
         break;
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,LoadImageTag,y,image->rows);
+          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
@@ -849,7 +850,8 @@
       (void) WriteBlob(image,(size_t) (q-targa_pixels),targa_pixels);
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,SaveImageTag,y,image->rows);
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
diff --git a/coders/tiff.c b/coders/tiff.c
index eabf2e2..0d4c6a7 100644
--- a/coders/tiff.c
+++ b/coders/tiff.c
@@ -1233,7 +1233,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1289,7 +1290,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1344,7 +1346,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1394,7 +1397,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1497,7 +1501,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1563,7 +1568,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -2959,7 +2965,8 @@
                 break;
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                  status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -3082,7 +3089,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -3152,7 +3160,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
diff --git a/coders/tim.c b/coders/tim.c
index bed4dc9..2493387 100644
--- a/coders/tim.c
+++ b/coders/tim.c
@@ -279,7 +279,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -304,7 +305,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -335,7 +337,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -364,7 +367,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
diff --git a/coders/txt.c b/coders/txt.c
index 937be74..4b823fd 100644
--- a/coders/txt.c
+++ b/coders/txt.c
@@ -699,7 +699,8 @@
         (void) WriteBlobString(image,"\n");
         p++;
       }
-      status=SetImageProgress(image,SaveImageTag,y,image->rows);
+      status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
       if (status == MagickFalse)
         break;
     }
diff --git a/coders/uil.c b/coders/uil.c
index fabe986..0025f0d 100644
--- a/coders/uil.c
+++ b/coders/uil.c
@@ -370,7 +370,8 @@
     (void) FormatMagickString(buffer,MaxTextExtent,"\"%s\n",
       (y == (ssize_t) (image->rows-1) ? ");" : ","));
     (void) WriteBlobString(image,buffer);
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/uyvy.c b/coders/uyvy.c
index 7876ea9..0ac9253 100644
--- a/coders/uyvy.c
+++ b/coders/uyvy.c
@@ -177,7 +177,8 @@
     }
     if (SyncAuthenticPixels(image,exception) == MagickFalse)
       break;
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
@@ -358,7 +359,8 @@
       full=full == MagickFalse ? MagickTrue : MagickFalse;
       p++;
     }
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/vicar.c b/coders/vicar.c
index 1aacb80..02803ad 100644
--- a/coders/vicar.c
+++ b/coders/vicar.c
@@ -307,7 +307,8 @@
       quantum_type,pixels,exception);
     if (SyncAuthenticPixels(image,exception) == MagickFalse)
       break;
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
@@ -484,7 +485,8 @@
     count=WriteBlob(image,length,pixels);
     if (count != (ssize_t) length)
       break;
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/viff.c b/coders/viff.c
index 2f08242..dd6e461 100644
--- a/coders/viff.c
+++ b/coders/viff.c
@@ -651,7 +651,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -671,7 +672,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -707,7 +709,8 @@
               break;
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
@@ -1104,7 +1107,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1146,7 +1150,8 @@
               *q++=(unsigned char) indexes[x];
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
@@ -1193,7 +1198,8 @@
                 *q++=byte >> (8-bit);
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                  status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -1217,7 +1223,8 @@
               }
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                  status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
diff --git a/coders/wbmp.c b/coders/wbmp.c
index 791801e..12366de 100644
--- a/coders/wbmp.c
+++ b/coders/wbmp.c
@@ -215,7 +215,8 @@
     }
     if (SyncAuthenticPixels(image,exception) == MagickFalse)
       break;
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
@@ -416,7 +417,8 @@
     }
     if (bit != 0)
       (void) WriteBlobByte(image,byte);
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/xbm.c b/coders/xbm.c
index dfb7ca7..1167495 100644
--- a/coders/xbm.c
+++ b/coders/xbm.c
@@ -365,7 +365,8 @@
     }
     if (SyncAuthenticPixels(image,exception) == MagickFalse)
       break;
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
@@ -579,7 +580,8 @@
         bit=0;
         byte=0;
       };
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/xpm.c b/coders/xpm.c
index 99dad05..d53dc27 100644
--- a/coders/xpm.c
+++ b/coders/xpm.c
@@ -1029,7 +1029,8 @@
     (void) WriteBlobString(image,buffer);
     if (image->previous == (Image *) NULL)
       {
-        status=SetImageProgress(image,SaveImageTag,y,image->rows);
+        status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
diff --git a/coders/xtrn.c b/coders/xtrn.c
index 30f2f93..d845a26 100644
--- a/coders/xtrn.c
+++ b/coders/xtrn.c
@@ -204,7 +204,7 @@
       size_t
         blob_length;
 
-                  ssize_t
+                  long
         lBoundl,
         lBoundu;
 
@@ -440,7 +440,7 @@
   SAFEARRAY *pSafeArray = (SAFEARRAY *)image->client_data;
   if (pSafeArray != NULL)
   {
-                ssize_t lBoundl, lBoundu, lCount;
+                long lBoundl, lBoundu, lCount;
           HRESULT hr = S_OK;
     /* First see how big the buffer currently is */
                 hr = SafeArrayGetLBound(pSafeArray, 1, &lBoundl);
@@ -455,14 +455,14 @@
     {
             unsigned char       *pReturnBuffer = NULL;
       NewArrayBounds[0].lLbound = 0;   /* Start-Index 0 */
-      NewArrayBounds[0].cElements = (size_t) (length+lCount);  /* # Elemente */
+      NewArrayBounds[0].cElements = (unsigned long) (length+lCount);  /* # Elemente */
       hr = SafeArrayRedim(pSafeArray, NewArrayBounds);
       if (FAILED(hr))
         return 0;
       hr = SafeArrayAccessData(pSafeArray, (void**)&pReturnBuffer);
             if( FAILED(hr) )
                     return 0;
-            (void) CopyMagickMemory( pReturnBuffer+lCount, (unsigned char *)data, length );
+            (void) memcpy( pReturnBuffer+lCount, (unsigned char *)data, length );
       hr = SafeArrayUnaccessData(pSafeArray);
             if( FAILED(hr) )
                     return 0;
diff --git a/coders/xwd.c b/coders/xwd.c
index f2133c7..690f7ef 100644
--- a/coders/xwd.c
+++ b/coders/xwd.c
@@ -418,7 +418,8 @@
             }
             if (SyncAuthenticPixels(image,exception) == MagickFalse)
               break;
-            status=SetImageProgress(image,LoadImageTag,y,image->rows);
+            status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
             if (status == MagickFalse)
               break;
           }
@@ -444,7 +445,8 @@
             }
             if (SyncAuthenticPixels(image,exception) == MagickFalse)
               break;
-            status=SetImageProgress(image,LoadImageTag,y,image->rows);
+            status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
             if (status == MagickFalse)
               break;
           }
@@ -478,7 +480,8 @@
           }
           if (SyncAuthenticPixels(image,exception) == MagickFalse)
             break;
-          status=SetImageProgress(image,LoadImageTag,y,image->rows);
+          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
@@ -778,7 +781,8 @@
     for (x=0; x < (ssize_t) scanline_pad; x++)
       *q++='\0';
     (void) WriteBlob(image,(size_t) (q-pixels),pixels);
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/ycbcr.c b/coders/ycbcr.c
index 2686541..6571699 100644
--- a/coders/ycbcr.c
+++ b/coders/ycbcr.c
@@ -263,7 +263,8 @@
             }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -339,7 +340,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1032,7 +1034,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1074,7 +1077,8 @@
             }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
diff --git a/coders/yuv.c b/coders/yuv.c
index b058fe6..5981305 100644
--- a/coders/yuv.c
+++ b/coders/yuv.c
@@ -283,7 +283,8 @@
           break;
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,LoadImageTag,y,image->rows);
+          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
@@ -636,7 +637,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -661,7 +663,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
diff --git a/ltdl/argz.c b/ltdl/argz.c
index 857c901..8567723 100644
--- a/ltdl/argz.c
+++ b/ltdl/argz.c
@@ -22,7 +22,7 @@
 GNU Lesser General Public License for more details.
 
 You should have received a copy of the GNU Lesser General Public
-License assize_t with GNU Libltdl; see the file COPYING.LIB.  If not, a
+License along with GNU Libltdl; see the file COPYING.LIB.  If not, a
 copy can be downloaded from  http://www.gnu.org/licenses/lgpl.html,
 or obtained by writing to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
diff --git a/ltdl/argz_.h b/ltdl/argz_.h
index 45fdde2..0557575 100644
--- a/ltdl/argz_.h
+++ b/ltdl/argz_.h
@@ -22,7 +22,7 @@
 GNU Lesser General Public License for more details.
 
 You should have received a copy of the GNU Lesser General Public
-License assize_t with GNU Libltdl; see the file COPYING.LIB.  If not, a
+License along with GNU Libltdl; see the file COPYING.LIB.  If not, a
 copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
 or obtained by writing to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
diff --git a/ltdl/lt__alloc.c b/ltdl/lt__alloc.c
index 28e04c7..d39e17e 100644
--- a/ltdl/lt__alloc.c
+++ b/ltdl/lt__alloc.c
@@ -22,7 +22,7 @@
 GNU Lesser General Public License for more details.
 
 You should have received a copy of the GNU Lesser General Public
-License assize_t with GNU Libltdl; see the file COPYING.LIB.  If not, a
+License along with GNU Libltdl; see the file COPYING.LIB.  If not, a
 copy can be downloaded from  http://www.gnu.org/licenses/lgpl.html,
 or obtained by writing to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
diff --git a/ltdl/lt__dirent.c b/ltdl/lt__dirent.c
index 48469cd..30dc072 100644
--- a/ltdl/lt__dirent.c
+++ b/ltdl/lt__dirent.c
@@ -22,7 +22,7 @@
 GNU Lesser General Public License for more details.
 
 You should have received a copy of the GNU Lesser General Public
-License assize_t with GNU Libltdl; see the file COPYING.LIB.  If not, a
+License along with GNU Libltdl; see the file COPYING.LIB.  If not, a
 copy can be downloaded from  http://www.gnu.org/licenses/lgpl.html,
 or obtained by writing to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
diff --git a/ltdl/lt__strl.c b/ltdl/lt__strl.c
index e174463..377739b 100644
--- a/ltdl/lt__strl.c
+++ b/ltdl/lt__strl.c
@@ -22,7 +22,7 @@
 GNU Lesser General Public License for more details.
 
 You should have received a copy of the GNU Lesser General Public
-License assize_t with GNU Libltdl; see the file COPYING.LIB.  If not, a
+License along with GNU Libltdl; see the file COPYING.LIB.  If not, a
 copy can be downloaded from  http://www.gnu.org/licenses/lgpl.html,
 or obtained by writing to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
diff --git a/ltdl/lt_dlloader.c b/ltdl/lt_dlloader.c
index 3a52287..4e66a6c 100644
--- a/ltdl/lt_dlloader.c
+++ b/ltdl/lt_dlloader.c
@@ -22,7 +22,7 @@
 GNU Lesser General Public License for more details.
 
 You should have received a copy of the GNU Lesser General Public
-License assize_t with GNU Libltdl; see the file COPYING.LIB.  If not, a
+License along with GNU Libltdl; see the file COPYING.LIB.  If not, a
 copy can be downloaded from  http://www.gnu.org/licenses/lgpl.html,
 or obtained by writing to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
diff --git a/ltdl/lt_error.c b/ltdl/lt_error.c
index 7634ba7..d7af36d 100644
--- a/ltdl/lt_error.c
+++ b/ltdl/lt_error.c
@@ -22,7 +22,7 @@
 GNU Lesser General Public License for more details.
 
 You should have received a copy of the GNU Lesser General Public
-License assize_t with GNU Libltdl; see the file COPYING.LIB.  If not, a
+License along with GNU Libltdl; see the file COPYING.LIB.  If not, a
 copy can be downloaded from  http://www.gnu.org/licenses/lgpl.html,
 or obtained by writing to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
diff --git a/ltdl/ltdl.c b/ltdl/ltdl.c
index 8c6aae5..9009ad8 100644
--- a/ltdl/ltdl.c
+++ b/ltdl/ltdl.c
@@ -23,7 +23,7 @@
 GNU Lesser General Public License for more details.
 
 You should have received a copy of the GNU Lesser General Public
-License assize_t with GNU Libltdl; see the file COPYING.LIB.  If not, a
+License along with GNU Libltdl; see the file COPYING.LIB.  If not, a
 copy can be downloaded from  http://www.gnu.org/licenses/lgpl.html,
 or obtained by writing to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
@@ -1844,7 +1844,7 @@
 }
 
 
-/* Call FUNC for each unique extensionless file in SEARCH_PATH, assize_t
+/* Call FUNC for each unique extensionless file in SEARCH_PATH, along
    with DATA.  The filenames passed to FUNC would be suitable for
    passing to lt_dlopenext.  The extensions are stripped so that
    individual modules do not generate several entries (e.g. libfoo.la,
diff --git a/ltdl/ltdl.h b/ltdl/ltdl.h
index 9ea3ffd..8b516ad 100644
--- a/ltdl/ltdl.h
+++ b/ltdl/ltdl.h
@@ -23,7 +23,7 @@
 GNU Lesser General Public License for more details.
 
 You should have received a copy of the GNU Lesser General Public
-License assize_t with GNU Libltdl; see the file COPYING.LIB.  If not, a
+License along with GNU Libltdl; see the file COPYING.LIB.  If not, a
 copy can be downloaded from  http://www.gnu.org/licenses/lgpl.html,
 or obtained by writing to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
diff --git a/ltdl/slist.c b/ltdl/slist.c
index 1f66008..dfc3c8c 100644
--- a/ltdl/slist.c
+++ b/ltdl/slist.c
@@ -22,7 +22,7 @@
 GNU Lesser General Public License for more details.
 
 You should have received a copy of the GNU Lesser General Public
-License assize_t with GNU Libltdl; see the file COPYING.LIB.  If not, a
+License along with GNU Libltdl; see the file COPYING.LIB.  If not, a
 copy can be downloaded from  http://www.gnu.org/licenses/lgpl.html,
 or obtained by writing to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
@@ -296,7 +296,7 @@
 }
 
 /* Perform a destructive quicksort on the items in SLIST, by repeatedly
-   calling COMPARE with a pair of items from SLIST assize_t with USERDATA
+   calling COMPARE with a pair of items from SLIST along with USERDATA
    at every iteration.  COMPARE is a function as defined above for
    slist_sort_merge().  The value of SLIST is undefined after calling
    this function.
@@ -315,7 +315,7 @@
   right = slist->next;
 
   /* Skip two items with RIGHT and one with SLIST, until RIGHT falls off
-     the end.  SLIST must be about half way assize_t.  */
+     the end.  SLIST must be about half way along.  */
   while (right && (right = right->next))
     {
       if (!right || !(right = right->next))
diff --git a/magick/animate.c b/magick/animate.c
index c6c96da..e512534 100644
--- a/magick/animate.c
+++ b/magick/animate.c
@@ -924,8 +924,8 @@
   */
   context_values.background=pixel.background_color.pixel;
   context_values.foreground=pixel.foreground_color.pixel;
-  pixel.annotate_context=XCreateGC(display,window_info.id,(size_t)
-    GCBackground | GCForeground,&context_values);
+  pixel.annotate_context=XCreateGC(display,window_info.id,(unsigned long)
+    (GCBackground | GCForeground),&context_values);
   if (pixel.annotate_context == (GC) NULL)
     ThrowXWindowFatalException(XServerFatalError,"UnableToCreateGraphicContext",
       images->filename);
@@ -2350,13 +2350,13 @@
         */
         if (event.xclient.message_type != windows->wm_protocols)
           break;
-        if (*event.xclient.data.l == (ssize_t) windows->wm_take_focus)
+        if (*event.xclient.data.l == (long) windows->wm_take_focus)
           {
             (void) XSetInputFocus(display,event.xclient.window,RevertToParent,
               (Time) event.xclient.data.l[1]);
             break;
           }
-        if (*event.xclient.data.l != (ssize_t) windows->wm_delete_window)
+        if (*event.xclient.data.l != (long) windows->wm_delete_window)
           break;
         (void) XWithdrawWindow(display,event.xclient.window,
           visual_info->screen);
@@ -2674,7 +2674,7 @@
           Display image named by the remote command protocol.
         */
         status=XGetWindowProperty(display,event.xproperty.window,
-          event.xproperty.atom,0L,(ssize_t) MaxTextExtent,MagickFalse,(Atom)
+          event.xproperty.atom,0L,(long) MaxTextExtent,MagickFalse,(Atom)
           AnyPropertyType,&type,&format,&length,&after,&data);
         if ((status != Success) || (length == 0))
           break;
diff --git a/magick/composite.c b/magick/composite.c
index 1f8c2f0..244e24b 100644
--- a/magick/composite.c
+++ b/magick/composite.c
@@ -1665,7 +1665,8 @@
 #if defined(MAGICKCORE_OPENMP_SUPPORT)
 #pragma omp critical (MagickCore_CompositeImage)
 #endif
-            proceed=SetImageProgress(image,CompositeImageTag,y,image->rows);
+            proceed=SetImageProgress(image,CompositeImageTag,
+              (MagickOffsetType) y,image->rows);
             if (proceed == MagickFalse)
               status=MagickFalse;
           }
@@ -2782,7 +2783,8 @@
 #if defined(MAGICKCORE_OPENMP_SUPPORT) && defined(MAGICKCORE_FUTURE)
   #pragma omp critical (MagickCore_TextureImage)
 #endif
-            proceed=SetImageProgress(image,TextureImageTag,y,image->rows);
+            proceed=SetImageProgress(image,TextureImageTag,(MagickOffsetType)
+              y,image->rows);
             if (proceed == MagickFalse)
               status=MagickFalse;
           }
@@ -2863,7 +2865,8 @@
 #if defined(MAGICKCORE_OPENMP_SUPPORT)
         #pragma omp critical (MagickCore_TextureImage)
 #endif
-        proceed=SetImageProgress(image,TextureImageTag,y,image->rows);
+        proceed=SetImageProgress(image,TextureImageTag,(MagickOffsetType) y,
+          image->rows);
         if (proceed == MagickFalse)
           status=MagickFalse;
       }
diff --git a/magick/deprecate.c b/magick/deprecate.c
index 6929160..7c0ab29 100644
--- a/magick/deprecate.c
+++ b/magick/deprecate.c
@@ -4655,7 +4655,8 @@
         }
         if (SyncAuthenticPixels(image,&image->exception) == MagickFalse)
           break;
-        proceed=SetImageProgress(image,OpaqueImageTag,y,image->rows);
+        proceed=SetImageProgress(image,OpaqueImageTag,(MagickOffsetType) y,
+          image->rows);
         if (proceed == MagickFalse)
           break;
       }
@@ -6794,7 +6795,8 @@
     }
     if (SyncAuthenticPixels(image,&image->exception) == MagickFalse)
       break;
-    proceed=SetImageProgress(image,TransparentImageTag,y,image->rows);
+    proceed=SetImageProgress(image,TransparentImageTag,(MagickOffsetType) y,
+      image->rows);
     if (proceed == MagickFalse)
       break;
   }
diff --git a/magick/display.c b/magick/display.c
index 65f0d85..80db09c 100644
--- a/magick/display.c
+++ b/magick/display.c
@@ -931,7 +931,7 @@
     "",
     "  Meta-I    Press to implode image pixels about the center.",
     "",
-    "  Meta-W    Press to alter an image assize_t a sine wave.",
+    "  Meta-W    Press to alter an image along a sine wave.",
     "",
     "  Meta-P    Press to simulate an oil painting.",
     "",
@@ -8548,7 +8548,7 @@
       if (*geometry == '\0')
         break;
       /*
-        Alter an image assize_t a sine wave.
+        Alter an image along a sine wave.
       */
       XSetCursorState(display,windows,MagickTrue);
       XCheckRefreshWindows(display,windows);
diff --git a/magick/distort.c b/magick/distort.c
index 549e1ac..532a9bd 100644
--- a/magick/distort.c
+++ b/magick/distort.c
@@ -1555,7 +1555,7 @@
         d.x = (coeff[2]-coeff[3])*ca;
         d.y = (coeff[2]-coeff[3])*sa;
         ExpandBounds(d);
-        /* Orthogonal points assize_t top of arc */
+        /* Orthogonal points along top of arc */
         for( a=ceil((coeff[0]-coeff[1]/2.0)/MagickPI2)*MagickPI2;
                a<(coeff[0]+coeff[1]/2.0); a+=MagickPI2 ) {
           ca = cos(a); sa = sin(a);
@@ -1811,7 +1811,7 @@
       {
         fprintf(stderr, "Arc Distort, Internal Coefficients:\n");
         for ( i=0; i<5; i++ )
-          fprintf(stderr, "  c%ld = %+lf\n", i, coeff[i]);
+          fprintf(stderr, "  c%ld = %+lf\n", (long) i, coeff[i]);
         fprintf(stderr, "Arc Distort, FX Equivelent:\n");
         fprintf(stderr, "%s", image_gen);
         fprintf(stderr, "  -fx 'ii=i+page.x; jj=j+page.y;\n");
@@ -1829,7 +1829,7 @@
       {
         fprintf(stderr, "Polar Distort, Internal Coefficents\n");
         for ( i=0; i<8; i++ )
-          fprintf(stderr, "  c%ld = %+lf\n", i, coeff[i]);
+          fprintf(stderr, "  c%ld = %+lf\n", (long) i, coeff[i]);
         fprintf(stderr, "Polar Distort, FX Equivelent:\n");
         fprintf(stderr, "%s", image_gen);
         fprintf(stderr, "  -fx 'ii=i+page.x%+lf; jj=j+page.y%+lf;\n",
@@ -1848,7 +1848,7 @@
       {
         fprintf(stderr, "DePolar Distort, Internal Coefficents\n");
         for ( i=0; i<8; i++ )
-          fprintf(stderr, "  c%ld = %+lf\n", i, coeff[i]);
+          fprintf(stderr, "  c%ld = %+lf\n", (long) i, coeff[i]);
         fprintf(stderr, "DePolar Distort, FX Equivelent:\n");
         fprintf(stderr, "%s", image_gen);
         fprintf(stderr, "  -fx 'aa=(i+.5)*%lf %+lf;\n", coeff[6], -coeff[4] );
@@ -1955,8 +1955,7 @@
       **restrict resample_filter;
 
     ssize_t
-      j,
-      y;
+      j;
 
     status=MagickTrue;
     progress=0;
@@ -2522,15 +2521,17 @@
       return((Image *) NULL);
     }
   { /* ----- MAIN CODE ----- */
-    ssize_t
-      j,
-      progress;
+    CacheView
+      *sparse_view;
 
     MagickBooleanType
       status;
 
-    CacheView
-      *sparse_view;
+    MagickOffsetType
+      progress;
+
+    ssize_t
+      j;
 
     status=MagickTrue;
     progress=0;
diff --git a/magick/draw.c b/magick/draw.c
index af63295..7b89730 100644
--- a/magick/draw.c
+++ b/magick/draw.c
@@ -451,7 +451,7 @@
 static PolygonInfo *ConvertPathToPolygon(
   const DrawInfo *magick_unused(draw_info),const PathInfo *path_info)
 {
-  ssize_t
+  long
     direction,
     next_direction;
 
@@ -3630,12 +3630,6 @@
   const FillRule fill_rule,const double x,const double y,
   MagickRealType *stroke_opacity)
 {
-  int
-    winding_number;
-
-  ssize_t
-    j;
-
   MagickRealType
     alpha,
     beta,
@@ -3654,6 +3648,10 @@
   register ssize_t
     i;
 
+  ssize_t
+    j,
+    winding_number;
+
   /*
     Compute fill & stroke opacity for this (x,y) point.
   */
diff --git a/magick/effect.c b/magick/effect.c
index 6c66d3d..451d204 100644
--- a/magick/effect.c
+++ b/magick/effect.c
@@ -3066,7 +3066,7 @@
 %
 %    o sigma: the standard deviation of the Gaussian, in pixels.
 %
-%    o angle: Apply the effect assize_t this angle.
+%    o angle: Apply the effect along this angle.
 %
 %    o exception: return any errors or warnings in this structure.
 %
diff --git a/magick/enhance.c b/magick/enhance.c
index a597339..5c827d5 100644
--- a/magick/enhance.c
+++ b/magick/enhance.c
@@ -654,7 +654,7 @@
 %
 %  ClutImage() replaces each color value in the given image, by using it as an
 %  index to lookup a replacement color value in a Color Look UP Table in the
-%  form of an image.  The values are extracted assize_t a diagonal of the CLUT
+%  form of an image.  The values are extracted along a diagonal of the CLUT
 %  image so either a horizontal or vertial gradient image can be used.
 %
 %  Typically this is used to either re-color a gray-scale image according to a
diff --git a/magick/fx.c b/magick/fx.c
index 91930b3..a72c786 100644
--- a/magick/fx.c
+++ b/magick/fx.c
@@ -3724,7 +3724,7 @@
 %
 %    o draw_info: the draw info.
 %
-%    o angle: Apply the effect assize_t this angle.
+%    o angle: Apply the effect along this angle.
 %
 %    o exception: return any errors or warnings in this structure.
 %
@@ -4213,7 +4213,7 @@
 %
 %    o sigma: the standard deviation of the Gaussian, in pixels.
 %
-%    o angle: Apply the effect assize_t this angle.
+%    o angle: Apply the effect along this angle.
 %
 %    o exception: return any errors or warnings in this structure.
 %
@@ -5238,7 +5238,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 %  WaveImage() creates a "ripple" effect in the image by shifting the pixels
-%  vertically assize_t a sine wave whose amplitude and wavelength is specified
+%  vertically along a sine wave whose amplitude and wavelength is specified
 %  by the given parameters.
 %
 %  The format of the WaveImage method is:
diff --git a/magick/hashmap.c b/magick/hashmap.c
index 5b99457..bd5837e 100644
--- a/magick/hashmap.c
+++ b/magick/hashmap.c
@@ -1151,7 +1151,7 @@
   next->next=list_info->head;
   while (next->next != (ElementInfo *) NULL)
   {
-    i=compare(value,next->next->value);
+    i=(ssize_t) compare(value,next->next->value);
     if ((i < 0) || ((replace != (void **) NULL) && (i == 0)))
       {
         if (i == 0)
diff --git a/magick/histogram.c b/magick/histogram.c
index 645f416..c7797c0 100644
--- a/magick/histogram.c
+++ b/magick/histogram.c
@@ -100,7 +100,9 @@
     *root;
 
   ssize_t
-    x,
+    x;
+
+  MagickOffsetType
     progress;
 
   size_t
@@ -291,7 +293,8 @@
         }
       p++;
     }
-    proceed=SetImageProgress(image,EvaluateImageTag,y,image->rows);
+    proceed=SetImageProgress(image,EvaluateImageTag,(MagickOffsetType) y,
+      image->rows);
     if (proceed == MagickFalse)
       break;
   }
@@ -1187,7 +1190,8 @@
         MagickBooleanType
           proceed;
 
-        proceed=SetImageProgress(image,HistogramImageTag,i,number_colors);
+        proceed=SetImageProgress(image,HistogramImageTag,(MagickOffsetType) i,
+          number_colors);
         if (proceed == MagickFalse)
           status=MagickFalse;
       }
diff --git a/magick/identify.c b/magick/identify.c
index c8faa82..94a329b 100644
--- a/magick/identify.c
+++ b/magick/identify.c
@@ -332,7 +332,7 @@
       if ((image->page.width != 0) || (image->page.height != 0) ||
           (image->page.x != 0) || (image->page.y != 0))
         (void) fprintf(file,"%lux%lu%+ld%+ld ",image->page.width,
-          image->page.height,image->page.x,image->page.y);
+          image->page.height,(long) image->page.x,(long) image->page.y);
       (void) fprintf(file,"%lu-bit ",image->depth);
       if (image->type != UndefinedType)
         (void) fprintf(file,"%s ",MagickOptionToMnemonic(MagickTypeOptions,
@@ -353,7 +353,7 @@
           (void) fprintf(file,"PseudoClass %lu=>%luc ",image->total_colors,
             image->colors);
       if (image->error.mean_error_per_pixel != 0.0)
-        (void) fprintf(file,"%ld/%f/%fdb ",(ssize_t)
+        (void) fprintf(file,"%ld/%f/%fdb ",(long)
           (image->error.mean_error_per_pixel+0.5),
           image->error.normalized_mean_error,
           image->error.normalized_maximum_error);
@@ -362,9 +362,9 @@
           (void) FormatMagickSize(GetBlobSize(image),MagickFalse,format);
           (void) fprintf(file,"%sB ",format);
         }
-      (void) fprintf(file,"%0.3fu %ld:%02ld.%03ld",user_time,(ssize_t)
-        (elapsed_time/60.0),(ssize_t) floor(fmod(elapsed_time,60.0)),
-        (ssize_t) (1000.0*(elapsed_time-floor(elapsed_time))));
+      (void) fprintf(file,"%0.3fu %ld:%02ld.%03ld",user_time,(long)
+        (elapsed_time/60.0),(long) floor(fmod(elapsed_time,60.0)),
+        (long) (1000.0*(elapsed_time-floor(elapsed_time))));
       (void) fprintf(file,"\n");
       (void) fflush(file);
       return(ferror(file) != 0 ? MagickFalse : MagickTrue);
@@ -398,7 +398,7 @@
   (void) fprintf(file,"  Class: %s\n",MagickOptionToMnemonic(MagickClassOptions,
     (ssize_t) image->storage_class));
   (void) fprintf(file,"  Geometry: %lux%lu%+ld%+ld\n",image->columns,
-    image->rows,image->tile_offset.x,image->tile_offset.y);
+    image->rows,(long) image->tile_offset.x,(long) image->tile_offset.y);
   if ((image->magick_columns != 0) || (image->magick_rows != 0))
     if ((image->magick_columns != image->columns) ||
         (image->magick_rows != image->rows))
@@ -680,7 +680,7 @@
             (void) QueryMagickColorname(image,&pixel,SVGCompliance,color,
               &image->exception);
             GetColorTuple(&pixel,MagickTrue,hex);
-            (void) fprintf(file,"  %8ld: %s %s %s\n",i,tuple,hex,color);
+            (void) fprintf(file,"  %8ld: %s %s %s\n",(long) i,tuple,hex,color);
             p++;
           }
         }
@@ -720,7 +720,7 @@
   if ((image->extract_info.width*image->extract_info.height) != 0)
     (void) fprintf(file,"  Tile geometry: %lux%lu%+ld%+ld\n",
       image->extract_info.width,image->extract_info.height,
-      image->extract_info.x,image->extract_info.y);
+      (long) image->extract_info.x,(long) image->extract_info.y);
   (void) fprintf(file,"  Interlace: %s\n",MagickOptionToMnemonic(
     MagickInterlaceOptions,(ssize_t) image->interlace));
   (void) QueryColorname(image,&image->background_color,SVGCompliance,color,
@@ -740,15 +740,15 @@
   if ((image->page.width != 0) || (image->page.height != 0) ||
       (image->page.x != 0) || (image->page.y != 0))
     (void) fprintf(file,"  Page geometry: %lux%lu%+ld%+ld\n",image->page.width,
-      image->page.height,image->page.x,image->page.y);
+      image->page.height,(long) image->page.x,(long) image->page.y);
   if ((image->page.x != 0) || (image->page.y != 0))
-    (void) fprintf(file,"  Origin geometry: %+ld%+ld\n",image->page.x,
-      image->page.y);
+    (void) fprintf(file,"  Origin geometry: %+ld%+ld\n",(long) image->page.x,
+      (long) image->page.y);
   (void) fprintf(file,"  Dispose: %s\n",MagickOptionToMnemonic(
     MagickDisposeOptions,(ssize_t) image->dispose));
   if (image->delay != 0)
     (void) fprintf(file,"  Delay: %lux%ld\n",image->delay,
-      image->ticks_per_second);
+      (long) image->ticks_per_second);
   if (image->iterations != 1)
     (void) fprintf(file,"  Iterations: %lu\n",image->iterations);
   if ((image->next != (Image *) NULL) || (image->previous != (Image *) NULL))
@@ -919,7 +919,7 @@
             const char
               *tag;
 
-            ssize_t
+            long
               dataset,
               record,
               sentinel;
@@ -1083,8 +1083,8 @@
     elapsed_time+0.5),MagickFalse,format);
   (void) fprintf(file,"  Pixels per second: %s\n",format);
   (void) fprintf(file,"  User time: %0.3fu\n",user_time);
-  (void) fprintf(file,"  Elapsed time: %ld:%02ld.%03ld\n",(ssize_t)
-    (elapsed_time/60.0),(ssize_t) ceil(fmod(elapsed_time,60.0)),(ssize_t)
+  (void) fprintf(file,"  Elapsed time: %ld:%02ld.%03ld\n",(long)
+    (elapsed_time/60.0),(long) ceil(fmod(elapsed_time,60.0)),(long)
     (1000.0*(elapsed_time-floor(elapsed_time))));
   (void) fprintf(file,"  Version: %s\n",GetMagickVersion((size_t *)
     NULL));
diff --git a/magick/layer.c b/magick/layer.c
index cfd5783..59f9631 100644
--- a/magick/layer.c
+++ b/magick/layer.c
@@ -185,8 +185,8 @@
       break;
     for (x=0; x < (ssize_t) bounds->width; x++)
     {
-      if ((p->opacity <= (ssize_t) (QuantumRange/2)) &&
-          (q->opacity > (ssize_t) (QuantumRange/2)))
+      if ((p->opacity <= (Quantum) (QuantumRange/2)) &&
+          (q->opacity > (Quantum) (QuantumRange/2)))
         break;
       p++;
       q++;
@@ -1836,21 +1836,19 @@
   MagickBooleanType
     proceed;
 
-  MagickOffsetType
-    scene;
-
   RectangleInfo
     page;
 
-  size_t
-    width,
-    height;
-
   register const Image
     *next;
 
   size_t
-    number_images;
+    number_images,
+    height,
+    width;
+
+  ssize_t
+    scene;
 
   assert(image != (Image *) NULL);
   assert(image->signature == MagickSignature);
@@ -1963,7 +1961,8 @@
   {
     (void) CompositeImage(canvas,image->compose,image,image->page.x-
       canvas->page.x,image->page.y-canvas->page.y);
-    proceed=SetImageProgress(image,MergeLayersTag,scene,number_images);
+    proceed=SetImageProgress(image,MergeLayersTag,(MagickOffsetType) scene,
+      number_images);
     if (proceed == MagickFalse)
       break;
     image=GetNextImageInList(image);
diff --git a/magick/list.c b/magick/list.c
index 7adb840..c49a657 100644
--- a/magick/list.c
+++ b/magick/list.c
@@ -209,7 +209,7 @@
     *clone_images,
     *image;
 
-  ssize_t
+  long
     first,
     last,
     step;
@@ -251,7 +251,7 @@
       i=0;
       for (next=images; next != (Image *) NULL; next=GetNextImageInList(next))
       {
-        if (i == first)
+        if (i == (ssize_t) first)
           {
             image=CloneImage(next,0,0,MagickTrue,exception);
             if (image == (Image *) NULL)
@@ -343,7 +343,7 @@
   Image
     *image;
 
-  ssize_t
+  long
     first,
     last;
 
@@ -398,7 +398,7 @@
       }
     if (first > last)
       continue;
-    for (i=first; i <= last; i++)
+    for (i=(ssize_t) first; i <= (ssize_t) last; i++)
       if ((i >= 0) && (i < (ssize_t) length))
         delete_list[i]=MagickTrue;
   }
diff --git a/magick/magic.c b/magick/magic.c
index b418797..7dab509 100644
--- a/magick/magic.c
+++ b/magick/magic.c
@@ -605,7 +605,7 @@
     (void) fprintf(file,"%s",magic_info[i]->name);
     for (j=(ssize_t) strlen(magic_info[i]->name); j <= 9; j++)
       (void) fprintf(file," ");
-    (void) fprintf(file,"%6ld ",(ssize_t) magic_info[i]->offset);
+    (void) fprintf(file,"%6ld ",(long) magic_info[i]->offset);
     if (magic_info[i]->target != (char *) NULL)
       {
         register ssize_t
diff --git a/magick/mime.c b/magick/mime.c
index c9fb232..7638698 100644
--- a/magick/mime.c
+++ b/magick/mime.c
@@ -168,7 +168,7 @@
   EndianType
     endian;
 
-  ssize_t
+  long
     value;
 
   register const MimeInfo
diff --git a/magick/module.c b/magick/module.c
index 5e011b5..fa5108d 100644
--- a/magick/module.c
+++ b/magick/module.c
@@ -1107,11 +1107,14 @@
   ExceptionInfo
     *exception;
 
+  MagickBooleanType
+    status;
+
   AcquireSemaphoreInfo(&module_semaphore);
   exception=AcquireExceptionInfo();
-  InitializeModuleList(exception);
+  status=InitializeModuleList(exception);
   exception=DestroyExceptionInfo(exception);
-  return(MagickTrue);
+  return(status);
 }
 
 /*
diff --git a/magick/morphology.c b/magick/morphology.c
index 8f3b6e2..fa0739e 100644
--- a/magick/morphology.c
+++ b/magick/morphology.c
@@ -1517,7 +1517,7 @@
         if (kernel->values == (double *) NULL)
           return(DestroyKernelInfo(kernel));
 
-        /* set all kernel values assize_t axises to given scale */
+        /* set all kernel values along axises to given scale */
         for ( i=0, v=-kernel->y; v <= (ssize_t)kernel->y; v++)
           for ( u=-kernel->x; u <= (ssize_t)kernel->x; u++, i++)
             kernel->values[i] = (u == 0 || v == 0) ? args->sigma : nan;
@@ -1538,7 +1538,7 @@
         if (kernel->values == (double *) NULL)
           return(DestroyKernelInfo(kernel));
 
-        /* set all kernel values assize_t axises to given scale */
+        /* set all kernel values along axises to given scale */
         for ( i=0, v=-kernel->y; v <= (ssize_t)kernel->y; v++)
           for ( u=-kernel->x; u <= (ssize_t)kernel->x; u++, i++)
             kernel->values[i] = (u == v || u == -v) ? args->sigma : nan;
diff --git a/magick/paint.c b/magick/paint.c
index a687f2f..dc4a1e4 100644
--- a/magick/paint.c
+++ b/magick/paint.c
@@ -376,7 +376,7 @@
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  GradientImage() applies a continuously smooth color transitions assize_t a
+%  GradientImage() applies a continuously smooth color transitions along a
 %  vector from one color to another.
 %
 %  Note, the interface of this method will change in the future to support
diff --git a/magick/profile.c b/magick/profile.c
index d22ccae..a83724a 100644
--- a/magick/profile.c
+++ b/magick/profile.c
@@ -876,7 +876,7 @@
       ResetImageProfileIterator(image);
       for (name=GetNextImageProfile(image); name != (const char *) NULL; )
       {
-        for (i=1; i < number_arguments; i++)
+        for (i=1; i < (ssize_t) number_arguments; i++)
         {
           if ((*arguments[i] == '!') &&
               (LocaleCompare(name,arguments[i]+1) == 0))
@@ -890,7 +890,7 @@
         }
         name=GetNextImageProfile(image);
       }
-      for (i=0; i < number_arguments; i++)
+      for (i=0; i < (ssize_t) number_arguments; i++)
         arguments[i]=DestroyString(arguments[i]);
       arguments=(char **) RelinquishMagickMemory(arguments);
       return(MagickTrue);
@@ -1876,7 +1876,7 @@
   }
   if (length < 16)
     return(MagickFalse);
-  id=(int) ReadProfileShort(LSBEndian,exif);
+  id=(ssize_t) ReadProfileShort(LSBEndian,exif);
   endian=LSBEndian;
   if (id == 0x4949)
     endian=LSBEndian;
diff --git a/magick/property.c b/magick/property.c
index 7596b7c..792b043 100644
--- a/magick/property.c
+++ b/magick/property.c
@@ -395,7 +395,7 @@
   const StringInfo
     *profile;
 
-  ssize_t
+  long
     count,
     dataset,
     record;
@@ -422,8 +422,8 @@
       continue;
     length=(size_t) (GetStringInfoDatum(profile)[i+3] << 8);
     length|=GetStringInfoDatum(profile)[i+4];
-    if (((ssize_t) GetStringInfoDatum(profile)[i+1] == dataset) &&
-        ((ssize_t) GetStringInfoDatum(profile)[i+2] == record))
+    if (((long) GetStringInfoDatum(profile)[i+1] == dataset) &&
+        ((long) GetStringInfoDatum(profile)[i+2] == record))
       {
         message=(char *) NULL;
         if (~length >= 1)
@@ -542,11 +542,9 @@
   const unsigned char
     *info;
 
-  ssize_t
-    id,
+  long
     start,
-    stop,
-    sub_number;
+    stop;
 
   MagickBooleanType
     status;
@@ -555,7 +553,9 @@
     i;
 
   ssize_t
-    count;
+    count,
+    id,
+    sub_number;
 
   size_t
     length;
@@ -593,9 +593,9 @@
     if (ReadPropertyByte(&info,&length) != (unsigned char) 'M')
       continue;
     id=(ssize_t) ReadPropertyMSBShort(&info,&length);
-    if (id < start)
+    if (id < (ssize_t) start)
       continue;
-    if (id > stop)
+    if (id > (ssize_t) stop)
       continue;
     if (resource != (char *) NULL)
       resource=DestroyString(resource);
diff --git a/magick/quantize.c b/magick/quantize.c
index 3fe59f7..971404f 100644
--- a/magick/quantize.c
+++ b/magick/quantize.c
@@ -595,7 +595,8 @@
         }
         if (SyncCacheViewAuthenticPixels(image_view,exception) == MagickFalse)
           break;
-        proceed=SetImageProgress(image,AssignImageTag,y,image->rows);
+        proceed=SetImageProgress(image,AssignImageTag,(MagickOffsetType) y,
+          image->rows);
         if (proceed == MagickFalse)
           break;
       }
@@ -785,7 +786,7 @@
       /*
         Start at the root and descend the color cube tree.
       */
-      for (count=1; (x+count) < image->columns; count++)
+      for (count=1; (x+count) < (ssize_t) image->columns; count++)
         if (IsSameColor(image,p,p+count) == MagickFalse)
           break;
       AssociateAlphaPixel(cube_info,p,&pixel);
@@ -845,7 +846,8 @@
         PruneToCubeDepth(image,cube_info,cube_info->root);
         break;
       }
-    proceed=SetImageProgress(image,ClassifyImageTag,y,image->rows);
+    proceed=SetImageProgress(image,ClassifyImageTag,(MagickOffsetType) y,
+      image->rows);
     if (proceed == MagickFalse)
       break;
   }
@@ -873,7 +875,7 @@
       /*
         Start at the root and descend the color cube tree.
       */
-      for (count=1; (x+count) < image->columns; count++)
+      for (count=1; (x+count) < (ssize_t) image->columns; count++)
         if (IsSameColor(image,p,p+count) == MagickFalse)
           break;
       AssociateAlphaPixel(cube_info,p,&pixel);
@@ -928,7 +930,8 @@
         node_info->total_color.opacity+=count*QuantumScale*pixel.opacity;
       p+=count;
     }
-    proceed=SetImageProgress(image,ClassifyImageTag,y,image->rows);
+    proceed=SetImageProgress(image,ClassifyImageTag,(MagickOffsetType) y,
+      image->rows);
     if (proceed == MagickFalse)
       break;
   }
@@ -1169,7 +1172,7 @@
   number_children=cube_info->associate_alpha == MagickFalse ? 8UL : 16UL;
   for (i=0; i < (ssize_t) number_children; i++)
     if (node_info->child[i] != (NodeInfo *) NULL)
-      DefineImageColormap(image,cube_info,node_info->child[i]);
+      (void) DefineImageColormap(image,cube_info,node_info->child[i]);
   if (node_info->number_unique != 0)
     {
       register MagickRealType
@@ -1402,7 +1405,7 @@
     indexes=GetCacheViewAuthenticIndexQueue(image_view);
     current=scanlines+(y & 0x01)*image->columns;
     previous=scanlines+((y+1) & 0x01)*image->columns;
-    v=(y & 0x01) ? -1 : 1;
+    v=(ssize_t) ((y & 0x01) ? -1 : 1);
     for (x=0; x < (ssize_t) image->columns; x++)
     {
       u=(y & 0x01) ? (ssize_t) image->columns-1-x : x;
@@ -1769,7 +1772,7 @@
   if (cube_info->quantize_info->dither_method == FloydSteinbergDitherMethod)
     return(FloydSteinbergDither(image,cube_info));
   /*
-    Distribute quantization error assize_t a Hilbert curve.
+    Distribute quantization error along a Hilbert curve.
   */
   (void) ResetMagickMemory(cube_info->error,0,ErrorQueueLength*
     sizeof(*cube_info->error));
@@ -1877,7 +1880,7 @@
   for (i=0; i < (ssize_t) length; i++)
     cube_info->cache[i]=(-1);
   /*
-    Distribute weights assize_t a curve of exponential decay.
+    Distribute weights along a curve of exponential decay.
   */
   weight=1.0;
   for (i=0; i < ErrorQueueLength; i++)
@@ -2486,12 +2489,13 @@
     indexes=GetCacheViewAuthenticIndexQueue(image_view);
     for (x=0; x < (ssize_t) image->columns; x++)
     {
-      indexes[x]=i;
+      indexes[x]=(IndexPacket) i;
       image->colormap[i++]=(*q++);
     }
     if (SyncCacheViewAuthenticPixels(image_view,exception) == MagickFalse)
       break;
-    proceed=SetImageProgress(image,AssignImageTag,y,image->rows);
+    proceed=SetImageProgress(image,AssignImageTag,(MagickOffsetType) y,
+      image->rows);
     if (proceed == MagickFalse)
       status=MagickFalse;
   }
@@ -2675,7 +2679,8 @@
     if (status == MagickFalse)
       break;
     (void) SetImageProgressMonitor(image,progress_monitor,image->client_data);
-    proceed=SetImageProgress(image,AssignImageTag,i,number_images);
+    proceed=SetImageProgress(image,AssignImageTag,(MagickOffsetType) i,
+      number_images);
     if (proceed == MagickFalse)
       break;
     image=GetNextImageInList(image);
@@ -2696,7 +2701,8 @@
           break;
         (void) SetImageProgressMonitor(image,progress_monitor,
           image->client_data);
-        proceed=SetImageProgress(image,AssignImageTag,i,number_images);
+        proceed=SetImageProgress(image,AssignImageTag,(MagickOffsetType) i,
+          number_images);
         if (proceed == MagickFalse)
           break;
         image=GetNextImageInList(image);
@@ -3029,7 +3035,7 @@
   color_2=(PixelPacket *) y;
   intensity=PixelIntensityToQuantum(color_1)-(ssize_t)
     PixelIntensityToQuantum(color_2);
-  return(intensity);
+  return((int) intensity);
 }
 
 #if defined(__cplusplus) || defined(c_plusplus)
diff --git a/magick/quantum-export.c b/magick/quantum-export.c
index 0278ec7..6d2fb6c 100644
--- a/magick/quantum-export.c
+++ b/magick/quantum-export.c
@@ -2003,7 +2003,7 @@
             q=PopCharPixel(pixel,q);
             pixel=ScaleQuantumToChar(GetBluePixelComponent(p));
             q=PopCharPixel(pixel,q);
-            pixel=ScaleQuantumToChar(GetAlphaPixelComponent(p));
+            pixel=ScaleQuantumToChar((Quantum) GetAlphaPixelComponent(p));
             q=PopCharPixel(pixel,q);
             p++;
             q+=quantum_info->pad;
@@ -2039,25 +2039,25 @@
                     case 0: quantum=p->red; break;
                     case 1: quantum=p->green; break;
                     case 2: quantum=p->blue; break;
-                    case 3: quantum=QuantumRange-p->opacity; break;
+                    case 3: quantum=(Quantum) (QuantumRange-p->opacity); break;
                   }
                   switch (n % 3)
                   {
                     case 0:
                     {
-                      pixel|=(size_t) (ScaleQuantumToAny(quantum,
+                      pixel|=(size_t) (ScaleQuantumToAny((Quantum) quantum,
                         range) << 22);
                       break;
                     }
                     case 1:
                     {
-                      pixel|=(size_t) (ScaleQuantumToAny(quantum,
+                      pixel|=(size_t) (ScaleQuantumToAny((Quantum) quantum,
                         range) << 12);
                       break;
                     }
                     case 2:
                     {
-                      pixel|=(size_t) (ScaleQuantumToAny(quantum,
+                      pixel|=(size_t) (ScaleQuantumToAny((Quantum) quantum,
                         range) << 2);
                       q=PopLongPixel(endian,pixel,q);
                       pixel=0;
@@ -2081,8 +2081,8 @@
                 q=PopQuantumLongPixel(&quantum_state,image->depth,pixel,q);
                 pixel=(size_t) ScaleQuantumToAny(p->blue,range);
                 q=PopQuantumLongPixel(&quantum_state,image->depth,pixel,q);
-                pixel=(size_t) ScaleQuantumToAny(QuantumRange-p->opacity,
-                  range);
+                pixel=(size_t) ScaleQuantumToAny((Quantum) (QuantumRange-
+                  p->opacity),range);
                 q=PopQuantumLongPixel(&quantum_state,image->depth,pixel,q);
                 p++;
                 q+=quantum_info->pad;
@@ -2097,8 +2097,8 @@
             q=PopQuantumPixel(&quantum_state,image->depth,pixel,q);
             pixel=(size_t) ScaleQuantumToAny(p->blue,range);
             q=PopQuantumPixel(&quantum_state,image->depth,pixel,q);
-            pixel=(size_t) ScaleQuantumToAny(QuantumRange-
-              p->opacity,range);
+            pixel=(size_t) ScaleQuantumToAny((Quantum) (QuantumRange-
+              p->opacity),range);
             q=PopQuantumPixel(&quantum_state,image->depth,pixel,q);
             p++;
             q+=quantum_info->pad;
@@ -2139,7 +2139,7 @@
             q=PopShortPixel(endian,pixel,q);
             pixel=ScaleQuantumToShort(GetBluePixelComponent(p));
             q=PopShortPixel(endian,pixel,q);
-            pixel=ScaleQuantumToShort(GetAlphaPixelComponent(p));
+            pixel=ScaleQuantumToShort((Quantum) GetAlphaPixelComponent(p));
             q=PopShortPixel(endian,pixel,q);
             p++;
             q+=quantum_info->pad;
@@ -2161,7 +2161,7 @@
                 q=PopFloatPixel(&quantum_state,(float) p->red,q);
                 q=PopFloatPixel(&quantum_state,(float) p->green,q);
                 q=PopFloatPixel(&quantum_state,(float) p->blue,q);
-                pixel=GetAlphaPixelComponent(p);
+                pixel=(float) GetAlphaPixelComponent(p);
                 q=PopFloatPixel(&quantum_state,pixel,q);
                 p++;
                 q+=quantum_info->pad;
@@ -2176,7 +2176,7 @@
             q=PopLongPixel(endian,pixel,q);
             pixel=ScaleQuantumToLong(GetBluePixelComponent(p));
             q=PopLongPixel(endian,pixel,q);
-            pixel=ScaleQuantumToLong(GetAlphaPixelComponent(p));
+            pixel=ScaleQuantumToLong((Quantum) GetAlphaPixelComponent(p));
             q=PopLongPixel(endian,pixel,q);
             p++;
             q+=quantum_info->pad;
@@ -2215,7 +2215,7 @@
             q=PopQuantumPixel(&quantum_state,image->depth,ScaleQuantumToAny(
               GetBluePixelComponent(p),range),q);
             q=PopQuantumPixel(&quantum_state,image->depth,ScaleQuantumToAny(
-              GetAlphaPixelComponent(p),range),q);
+              (Quantum) GetAlphaPixelComponent(p),range),q);
             p++;
             q+=quantum_info->pad;
           }
diff --git a/magick/resource.c b/magick/resource.c
index 5bb6e95..7def54e 100644
--- a/magick/resource.c
+++ b/magick/resource.c
@@ -442,7 +442,7 @@
   if (random_info == (RandomInfo *) NULL)
     random_info=AcquireRandomInfo();
   file=(-1);
-  for (i=0; i < TMP_MAX; i++)
+  for (i=0; i < (ssize_t) TMP_MAX; i++)
   {
     /*
       Get temporary pathname.
@@ -913,7 +913,7 @@
   pagesize=GetMagickPageSize();
   pages=(-1);
 #if defined(MAGICKCORE_HAVE_SYSCONF) && defined(_SC_PHYS_PAGES)
-  pages=sysconf(_SC_PHYS_PAGES);
+  pages=(ssize_t) sysconf(_SC_PHYS_PAGES);
 #endif
   memory=(MagickSizeType) pages*pagesize;
   if ((pagesize <= 0) || (pages <= 0))
@@ -959,7 +959,7 @@
     }
   files=(-1);
 #if defined(MAGICKCORE_HAVE_SYSCONF) && defined(_SC_OPEN_MAX)
-  files=sysconf(_SC_OPEN_MAX);
+  files=(ssize_t) sysconf(_SC_OPEN_MAX);
 #endif
 #if defined(MAGICKCORE_HAVE_GETRLIMIT) && defined(RLIMIT_NOFILE)
   if (files < 0)
diff --git a/magick/segment.c b/magick/segment.c
index c1f5e3e..428b823 100644
--- a/magick/segment.c
+++ b/magick/segment.c
@@ -459,8 +459,8 @@
       (void) fprintf(stdout,"\n\nNumber of Vectors Per Cluster\n");
       (void) fprintf(stdout,"=============================\n\n");
       for (cluster=head; cluster != (Cluster *) NULL; cluster=cluster->next)
-        (void) fprintf(stdout,"Cluster #%ld = %ld\n",cluster->id,
-          cluster->count);
+        (void) fprintf(stdout,"Cluster #%ld = %ld\n",(long) cluster->id,
+          (long) cluster->count);
       /*
         Print the cluster extents.
       */
@@ -469,10 +469,11 @@
       (void) fprintf(stdout,"================");
       for (cluster=head; cluster != (Cluster *) NULL; cluster=cluster->next)
       {
-        (void) fprintf(stdout,"\n\nCluster #%ld\n\n",cluster->id);
-        (void) fprintf(stdout,"%ld-%ld  %ld-%ld  %ld-%ld\n",cluster->red.left,
-          cluster->red.right,cluster->green.left,cluster->green.right,
-          cluster->blue.left,cluster->blue.right);
+        (void) fprintf(stdout,"\n\nCluster #%ld\n\n",(long) cluster->id);
+        (void) fprintf(stdout,"%ld-%ld  %ld-%ld  %ld-%ld\n",(long)
+          cluster->red.left,(long) cluster->red.right,(long)
+          cluster->green.left,(long) cluster->green.right,(long)
+          cluster->blue.left,(long) cluster->blue.right);
       }
       /*
         Print the cluster center values.
@@ -482,7 +483,7 @@
       (void) fprintf(stdout,"=====================");
       for (cluster=head; cluster != (Cluster *) NULL; cluster=cluster->next)
       {
-        (void) fprintf(stdout,"\n\nCluster #%ld\n\n",cluster->id);
+        (void) fprintf(stdout,"\n\nCluster #%ld\n\n",(long) cluster->id);
         (void) fprintf(stdout,"%g  %g  %g\n",(double)
           cluster->red.center,(double) cluster->green.center,(double)
           cluster->blue.center);
@@ -793,7 +794,7 @@
           if (((count % 2) == 0) && (right != k))
             correct=right;
         }
-      l=zero_crossing[i].crossings[j];
+      l=(ssize_t) zero_crossing[i].crossings[j];
       zero_crossing[i].crossings[j]=0;
       if (correct != -1)
         zero_crossing[i].crossings[correct]=(short) l;
@@ -1122,7 +1123,8 @@
           }
       p++;
     }
-    proceed=SetImageProgress(image,SegmentImageTag,y,2*image->rows);
+    proceed=SetImageProgress(image,SegmentImageTag,(MagickOffsetType) y,
+      2*image->rows);
     if (proceed == MagickFalse)
       break;
   }
diff --git a/magick/shear.c b/magick/shear.c
index 065f477..d8867cf 100644
--- a/magick/shear.c
+++ b/magick/shear.c
@@ -1414,7 +1414,7 @@
 %
 %    o image: the image.
 %
-%    o degrees: A MagickRealType representing the shearing angle assize_t the X
+%    o degrees: A MagickRealType representing the shearing angle along the X
 %      axis.
 %
 %    o width, height, x_offset, y_offset: Defines a region of the image
@@ -1634,7 +1634,7 @@
 %
 %    o image: the image.
 %
-%    o degrees: A MagickRealType representing the shearing angle assize_t the Y
+%    o degrees: A MagickRealType representing the shearing angle along the Y
 %      axis.
 %
 %    o width, height, x_offset, y_offset: Defines a region of the image
@@ -1939,8 +1939,10 @@
       height=image->columns;
     }
   y_width=width+(ssize_t) floor(fabs(shear.x)*height+0.5);
-  x_offset=(ssize_t) ceil(width+((fabs(shear.y)*height)-width)/2.0-0.5);
-  y_offset=(ssize_t) ceil(height+((fabs(shear.y)*y_width)-height)/2.0-0.5);
+  x_offset=(ssize_t) ceil((double) width+((fabs(shear.y)*height)-width)/2.0-
+    0.5);
+  y_offset=(ssize_t) ceil((double) height+((fabs(shear.y)*y_width)-height)/2.0-
+    0.5);
   /*
     Surround image with a border.
   */
@@ -2001,9 +2003,9 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 %  ShearImage() creates a new image that is a shear_image copy of an existing
-%  one.  Shearing slides one edge of an image assize_t the X or Y axis, creating
-%  a parallelogram.  An X direction shear slides an edge assize_t the X axis,
-%  while a Y direction shear slides an edge assize_t the Y axis.  The amount of
+%  one.  Shearing slides one edge of an image along the X or Y axis, creating
+%  a parallelogram.  An X direction shear slides an edge along the X axis,
+%  while a Y direction shear slides an edge along the Y axis.  The amount of
 %  the shear is controlled by a shear angle.  For X direction shears, x_shear
 %  is measured relative to the Y axis, and similarly, for Y direction shears
 %  y_shear is measured relative to the X axis.  Empty triangles left over from
@@ -2083,10 +2085,10 @@
     Compute image size.
   */
   y_width=image->columns+(ssize_t) floor(fabs(shear.x)*image->rows+0.5);
-  x_offset=(ssize_t) ceil(image->columns+((fabs(shear.x)*image->rows)-
+  x_offset=(ssize_t) ceil((double) image->columns+((fabs(shear.x)*image->rows)-
     image->columns)/2.0-0.5);
-  y_offset=(ssize_t) ceil(image->rows+((fabs(shear.y)*y_width)-image->rows)/2.0-
-    0.5);
+  y_offset=(ssize_t) ceil((double) image->rows+((fabs(shear.y)*y_width)-
+    image->rows)/2.0-0.5);
   /*
     Surround image with border.
   */
diff --git a/magick/threshold.c b/magick/threshold.c
index acfb3b2..8c4b8ec 100644
--- a/magick/threshold.c
+++ b/magick/threshold.c
@@ -1014,10 +1014,10 @@
   if ( map->levels == (ssize_t *)NULL )
     ThrowFatalException(ResourceLimitFatalError,"UnableToAcquireThresholdMap");
   { /* parse levels into integer array */
-    int i;
+    ssize_t i;
     char *p;
     for( i=0; i< (ssize_t) (map->width*map->height); i++) {
-      map->levels[i] = (int)strtol(content, &p, 10);
+      map->levels[i] = (ssize_t)strtol(content, &p, 10);
       if ( p == content ) {
         (void) ThrowMagickException(exception,GetMagickModule(),OptionError,
           "XmlInvalidContent", "<level> too few values, map \"%s\"", map_id);
@@ -1466,7 +1466,7 @@
 #endif
 
   { /* Do the posterized ordered dithering of the image */
-    int
+    ssize_t
       d;
 
     /* d = number of psuedo-level divisions added between color levels */
@@ -1512,7 +1512,7 @@
       indexes=GetCacheViewAuthenticIndexQueue(image_view);
       for (x=0; x < (ssize_t) image->columns; x++)
       {
-        register int
+        register ssize_t
           threshold,
           t,
           l;
@@ -1535,28 +1535,28 @@
               Opacity is inverted so 'off' represents transparent.
         */
         if (levels.red) {
-          t = (int) (QuantumScale*q->red*(levels.red*d+1));
+          t = (ssize_t) (QuantumScale*q->red*(levels.red*d+1));
           l = t/d;  t = t-l*d;
           q->red=(Quantum) ((l+(t >= threshold))*QuantumRange/levels.red);
         }
         if (levels.green) {
-          t = (int) (QuantumScale*q->green*(levels.green*d+1));
+          t = (ssize_t) (QuantumScale*q->green*(levels.green*d+1));
           l = t/d;  t = t-l*d;
           q->green=(Quantum) ((l+(t >= threshold))*QuantumRange/levels.green);
         }
         if (levels.blue) {
-          t = (int) (QuantumScale*q->blue*(levels.blue*d+1));
+          t = (ssize_t) (QuantumScale*q->blue*(levels.blue*d+1));
           l = t/d;  t = t-l*d;
           q->blue=(Quantum) ((l+(t >= threshold))*QuantumRange/levels.blue);
         }
         if (levels.opacity) {
-          t = (int) ((1.0-QuantumScale*q->opacity)*(levels.opacity*d+1));
+          t = (ssize_t) ((1.0-QuantumScale*q->opacity)*(levels.opacity*d+1));
           l = t/d;  t = t-l*d;
           q->opacity=(Quantum) ((1.0-l-(t >= threshold))*QuantumRange/
             levels.opacity);
         }
         if (levels.index) {
-          t = (int) (QuantumScale*indexes[x]*(levels.index*d+1));
+          t = (ssize_t) (QuantumScale*indexes[x]*(levels.index*d+1));
           l = t/d;  t = t-l*d;
           indexes[x]=(IndexPacket) ((l+(t>=threshold))*QuantumRange/
             levels.index);
diff --git a/magick/token.c b/magick/token.c
index d51109b..79774a3 100644
--- a/magick/token.c
+++ b/magick/token.c
@@ -775,7 +775,7 @@
 
   for (p=string; *p != '\0'; p++)
     if (c == (int) (*p))
-      return(p-string);
+      return((ssize_t) (p-string));
   return(-1);
 }
 
diff --git a/magick/utility.c b/magick/utility.c
index 9c036e8..dfed149 100644
--- a/magick/utility.c
+++ b/magick/utility.c
@@ -1932,7 +1932,7 @@
       errno=EPERM;
       (void) ThrowMagickException(exception,GetMagickModule(),PolicyError,
         "NotAuthorized","`%s'",arguments[1]);
-      for (i=0; i < number_arguments; i++)
+      for (i=0; i < (ssize_t) number_arguments; i++)
         arguments[i]=DestroyString(arguments[i]);
       arguments=(char **) RelinquishMagickMemory(arguments);
       return(-1);
@@ -2016,7 +2016,7 @@
       "`%s' (%d)",command,status);
   if (shell_command != command)
     shell_command=DestroyString(shell_command);
-  for (i=0; i < number_arguments; i++)
+  for (i=0; i < (ssize_t) number_arguments; i++)
     arguments[i]=DestroyString(arguments[i]);
   arguments=(char **) RelinquishMagickMemory(arguments);
   return(status);
diff --git a/magick/xml-tree.c b/magick/xml-tree.c
index 0656fba..1eca769 100644
--- a/magick/xml-tree.c
+++ b/magick/xml-tree.c
@@ -1966,7 +1966,7 @@
                 for (l=0; (*p != '\0') && (((l == 0) && (*p != '>')) ||
                      ((l != 0) && ((*p != ']') ||
                      (*(p+strspn(p+1,XMLWhitespace)+1) != '>'))));
-                  l=(*p == '[') ? 1 : l)
+                  l=(ssize_t) (*p == '[') ? 1 : l)
                 p+=strcspn(p+1,"[]>")+1;
                 if ((*p == '\0') && (terminal != '>'))
                   {
@@ -2119,7 +2119,7 @@
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  PruneTagFromXMLTree() prunes a tag from the xml-tree assize_t with all its
+%  PruneTagFromXMLTree() prunes a tag from the xml-tree along with all its
 %  subtags.
 %
 %  The format of the PruneTagFromXMLTree method is:
diff --git a/wand/animate.c b/wand/animate.c
index bd09fbf..07a074e 100644
--- a/wand/animate.c
+++ b/wand/animate.c
@@ -441,7 +441,7 @@
         */
         FireImageStack(MagickFalse,MagickFalse,pend);
         filename=option;
-        if ((LocaleCompare(filename,"--") == 0) && (i < (argc-1)))
+        if ((LocaleCompare(filename,"--") == 0) && (i < (ssize_t) (argc-1)))
           {
             option=argv[++i];
             filename=option;
diff --git a/wand/compare.c b/wand/compare.c
index 2e0094d..40be5ed 100644
--- a/wand/compare.c
+++ b/wand/compare.c
@@ -320,7 +320,7 @@
         */
         FireImageStack(MagickFalse,MagickFalse,pend);
         filename=argv[i];
-        if ((LocaleCompare(filename,"--") == 0) && (i < (argc-1)))
+        if ((LocaleCompare(filename,"--") == 0) && (i < (ssize_t) (argc-1)))
           filename=argv[++i];
         (void) CopyMagickString(image_info->filename,filename,MaxTextExtent);
         images=ReadImages(image_info,exception);
@@ -984,8 +984,8 @@
                 (double) distortion);
               if ((reconstruct_image->columns != image->columns) ||
                   (reconstruct_image->rows != image->rows))
-                (void) fprintf(stderr," @ %ld,%ld",difference_image->page.x,
-                  difference_image->page.y);
+                (void) fprintf(stderr," @ %ld,%ld",(long)
+                  difference_image->page.x,(long) difference_image->page.y);
               (void) fprintf(stderr,"\n");
               break;
             }
@@ -995,8 +995,8 @@
               (void) fprintf(stderr,"%g",distortion);
               if ((reconstruct_image->columns != image->columns) ||
                   (reconstruct_image->rows != image->rows))
-                (void) fprintf(stderr," @ %ld,%ld",difference_image->page.x,
-                  difference_image->page.y);
+                (void) fprintf(stderr," @ %ld,%ld",(long)
+                  difference_image->page.x,(long) difference_image->page.y);
               (void) fprintf(stderr,"\n");
               break;
             }
@@ -1007,8 +1007,8 @@
                 image->error.normalized_maximum_error);
               if ((reconstruct_image->columns != image->columns) ||
                   (reconstruct_image->rows != image->rows))
-                (void) fprintf(stderr," @ %ld,%ld",difference_image->page.x,
-                  difference_image->page.y);
+                (void) fprintf(stderr," @ %ld,%ld",(long)
+                  difference_image->page.x,(long) difference_image->page.y);
               (void) fprintf(stderr,"\n");
               break;
             }
@@ -1026,8 +1026,8 @@
           (void) fprintf(stderr,"Image: %s\n",image->filename);
           if ((reconstruct_image->columns != image->columns) ||
               (reconstruct_image->rows != image->rows))
-            (void) fprintf(stderr,"Offset: %ld,%ld\n",difference_image->page.x,
-              difference_image->page.y);
+            (void) fprintf(stderr,"Offset: %ld,%ld\n",(long)
+              difference_image->page.x,(long) difference_image->page.y);
           (void) fprintf(stderr,"  Channel distortion: %s\n",
             MagickOptionToMnemonic(MagickMetricOptions,(ssize_t) metric));
           switch (metric)
diff --git a/wand/composite.c b/wand/composite.c
index 2993126..557c10e 100644
--- a/wand/composite.c
+++ b/wand/composite.c
@@ -510,7 +510,7 @@
         */
         FireImageStack(MagickFalse,MagickFalse,pend);
         filename=argv[i];
-        if ((LocaleCompare(filename,"--") == 0) && (i < (argc-1)))
+        if ((LocaleCompare(filename,"--") == 0) && (i < (ssize_t) (argc-1)))
           filename=argv[++i];
         (void) CopyMagickString(image_info->filename,filename,MaxTextExtent);
         images=ReadImages(image_info,exception);
diff --git a/wand/conjure.c b/wand/conjure.c
index df1c29a..40dccbb 100644
--- a/wand/conjure.c
+++ b/wand/conjure.c
@@ -301,7 +301,7 @@
     status=image != (Image *) NULL ? MagickTrue : MagickFalse;
     number_images++;
   }
-  if (i != argc)
+  if (i != (ssize_t) argc)
     ThrowConjureException(OptionError,"MissingAnImageFilename",argv[i]);
   if (number_images == 0)
     ThrowConjureException(OptionError,"MissingAnImageFilename",argv[argc-1]);
diff --git a/wand/convert.c b/wand/convert.c
index 5b7101c..490be68 100644
--- a/wand/convert.c
+++ b/wand/convert.c
@@ -167,9 +167,9 @@
       "-charcoal radius     simulate a charcoal drawing",
       "-chop geometry       remove pixels from the image interior",
       "-clamp               restrict pixel range from 0 to the quantum depth",
-      "-clip                clip assize_t the first path from the 8BIM profile",
+      "-clip                clip along the first path from the 8BIM profile",
       "-clip-mask filename  associate a clip mask with the image",
-      "-clip-path id        clip assize_t a named path from the 8BIM profile",
+      "-clip-path id        clip along a named path from the 8BIM profile",
       "-colorize value      colorize the image with the fill color",
       "-color-matrix matrix apply color correction to the image",
       "-contrast            enhance or reduce the image contrast",
@@ -259,7 +259,7 @@
       "-shadow geometry     simulate an image shadow",
       "-sharpen geometry    sharpen the image",
       "-shave geometry      shave pixels from the image edges",
-      "-shear geometry      slide one edge of the image assize_t the X or Y axis",
+      "-shear geometry      slide one edge of the image along the X or Y axis",
       "-sigmoidal-contrast geometry",
       "                     increase the contrast without saturating highlights or shadows",
       "-sketch geometry     simulate a pencil sketch",
@@ -283,7 +283,7 @@
       "-unique-colors       discard all but one of any pixel color",
       "-unsharp geometry    sharpen the image",
       "-vignette geometry   soften the edges of the image in vignette style",
-      "-wave geometry       alter an image assize_t a sine wave",
+      "-wave geometry       alter an image along a sine wave",
       "-white-threshold value",
       "                     force all pixels above the threshold into white",
       (char *) NULL
@@ -572,7 +572,7 @@
         */
         FireImageStack(MagickTrue,MagickTrue,pend);
         filename=argv[i];
-        if ((LocaleCompare(filename,"--") == 0) && (i < (argc-1)))
+        if ((LocaleCompare(filename,"--") == 0) && (i < (ssize_t) (argc-1)))
           filename=argv[++i];
         (void) CopyMagickString(image_info->filename,filename,MaxTextExtent);
         if (image_info->ping != MagickFalse)
diff --git a/wand/deprecate.c b/wand/deprecate.c
index 269ad5b..8261d76 100644
--- a/wand/deprecate.c
+++ b/wand/deprecate.c
@@ -139,7 +139,7 @@
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  MagickClipPathImage() clips assize_t the named paths from the 8BIM profile, if
+%  MagickClipPathImage() clips along the named paths from the 8BIM profile, if
 %  present. Later operations take effect inside the path.  Id may be a number
 %  if preceded with #, to work on a numbered path, e.g., "#1" to use the first
 %  path.
diff --git a/wand/display.c b/wand/display.c
index cf87de1..b7ff075 100644
--- a/wand/display.c
+++ b/wand/display.c
@@ -117,8 +117,8 @@
     {
       "-auto-orient         automagically orient image",
       "-border geometry     surround image with a border of color",
-      "-clip                clip assize_t the first path from the 8BIM profile",
-      "-clip-path id        clip assize_t a named path from the 8BIM profile",
+      "-clip                clip along the first path from the 8BIM profile",
+      "-clip-path id        clip along a named path from the 8BIM profile",
       "-colors value        preferred number of colors in the image",
       "-contrast            enhance or reduce the image contrast",
       "-crop geometry       preferred size and location of the cropped image",
@@ -390,7 +390,7 @@
   if (image_marker == (size_t *) NULL)
     ThrowDisplayException(ResourceLimitError,"MemoryAllocationFailed",
       GetExceptionMessage(errno));
-  for (i=0; i <= argc; i++)
+  for (i=0; i <= (ssize_t) argc; i++)
     image_marker[i]=(size_t) argc;
   /*
     Check for server name specified on the command line.
@@ -504,7 +504,7 @@
         */
         FireImageStack(MagickFalse,MagickFalse,pend);
         filename=option;
-        if ((LocaleCompare(filename,"--") == 0) && (i < (argc-1)))
+        if ((LocaleCompare(filename,"--") == 0) && (i < (ssize_t) (argc-1)))
           {
             option=argv[++i];
             filename=option;
@@ -519,7 +519,7 @@
         AppendImageStack(images);
         FinalizeImageSettings(image_info,image,MagickFalse);
         iterations=0;
-        if (i == (argc-1))
+        if (i == (ssize_t) (argc-1))
           iterations=image->iterations;
         do
         {
@@ -599,14 +599,14 @@
             Proceed to next/previous image.
           */
           if ((state & FormerImageState) != 0)
-            for (l=0; l < resource_info.quantum; l++)
+            for (l=0; l < (ssize_t) resource_info.quantum; l++)
             {
               image=GetPreviousImageInList(image);
               if (image == (Image *) NULL)
                 break;
             }
           else
-            for (l=0; l < resource_info.quantum; l++)
+            for (l=0; l < (ssize_t) resource_info.quantum; l++)
             {
               image=GetNextImageInList(image);
               if (image == (Image *) NULL)
@@ -645,7 +645,7 @@
             if ((state & FormerImageState) != 0)
               {
 
-                for (i=1; i < (argc-2); i++)
+                for (i=1; i < (ssize_t) (argc-2); i++)
                   if (last_image == image_marker[i])
                     break;
                 image_number=(ssize_t) image_marker[i]+1;
diff --git a/wand/drawing-wand.c b/wand/drawing-wand.c
index e1eeb20..eb133b8 100644
--- a/wand/drawing-wand.c
+++ b/wand/drawing-wand.c
@@ -4770,7 +4770,7 @@
   if ((wand->filter_off != MagickFalse) ||
       (CurrentContext->opacity != quantum_opacity))
     {
-      CurrentContext->opacity=opacity;
+      CurrentContext->opacity=(Quantum) opacity;
       (void) MvgPrintf(wand,"opacity %g\n",opacity);
     }
 }
@@ -6070,7 +6070,7 @@
   char
     *p;
 
-  ssize_t
+  long
     value;
 
   value=strtol(point,&p,10);
diff --git a/wand/identify.c b/wand/identify.c
index df4927b..1e14172 100644
--- a/wand/identify.c
+++ b/wand/identify.c
@@ -306,7 +306,7 @@
         identify_info=CloneImageInfo(image_info);
         identify_info->verbose=MagickFalse;
         filename=argv[i];
-        if ((LocaleCompare(filename,"--") == 0) && (i < (argc-1)))
+        if ((LocaleCompare(filename,"--") == 0) && (i < (ssize_t) (argc-1)))
           filename=argv[++i];
         (void) CopyMagickString(identify_info->filename,filename,MaxTextExtent);
         if (identify_info->ping != MagickFalse)
@@ -828,7 +828,7 @@
   }
   if (k != 0)
     ThrowIdentifyException(OptionError,"UnbalancedParenthesis",argv[i]);
-  if (i != argc)
+  if (i != (ssize_t) argc)
     ThrowIdentifyException(OptionError,"MissingAnImageFilename",argv[i]);
   DestroyIdentify();
   return(status != 0 ? MagickTrue : MagickFalse);
diff --git a/wand/import.c b/wand/import.c
index 669131e..b897a35 100644
--- a/wand/import.c
+++ b/wand/import.c
@@ -1283,7 +1283,7 @@
   }
   if (k != 0)
     ThrowImportException(OptionError,"UnbalancedParenthesis",argv[i]);
-  if (i-- != argc)
+  if (i-- != (ssize_t) argc)
     ThrowImportException(OptionError,"MissingAnImageFilename",argv[i]);
   if (image == (Image *) NULL)
     ThrowImportException(OptionError,"MissingAnImageFilename",argv[argc-1]);
diff --git a/wand/magick-image.c b/wand/magick-image.c
index 7c2a292..99557a3 100644
--- a/wand/magick-image.c
+++ b/wand/magick-image.c
@@ -1308,7 +1308,7 @@
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  MagickClipImage() clips assize_t the first path from the 8BIM profile, if
+%  MagickClipImage() clips along the first path from the 8BIM profile, if
 %  present.
 %
 %  The format of the MagickClipImage method is:
@@ -1348,7 +1348,7 @@
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  MagickClipImagePath() clips assize_t the named paths from the 8BIM profile, if
+%  MagickClipImagePath() clips along the named paths from the 8BIM profile, if
 %  present. Later operations take effect inside the path.  Id may be a number
 %  if preceded with #, to work on a numbered path, e.g., "#1" to use the first
 %  path.
@@ -7272,7 +7272,7 @@
 %
 %    o sigma: the standard deviation of the Gaussian, in pixels.
 %
-%    o angle: Apply the effect assize_t this angle.
+%    o angle: Apply the effect along this angle.
 %
 */
 
@@ -7945,7 +7945,7 @@
 %
 %    o drawing_wand: the draw wand.
 %
-%    o angle: Apply the effect assize_t this angle.
+%    o angle: Apply the effect along this angle.
 %
 */
 WandExport MagickBooleanType MagickPolaroidImage(MagickWand *wand,
@@ -8153,7 +8153,7 @@
 %
 %    o dither: A value other than zero distributes the difference between an
 %      original image and the corresponding color reduced image to
-%      neighboring pixels assize_t a Hilbert curve.
+%      neighboring pixels along a Hilbert curve.
 %
 %    o measure_error: A value other than zero measures the difference between
 %      the original and quantized images.  This difference is the total
@@ -8234,7 +8234,7 @@
 %
 %    o dither: A value other than zero distributes the difference between an
 %      original image and the corresponding color reduced algorithm to
-%      neighboring pixels assize_t a Hilbert curve.
+%      neighboring pixels along a Hilbert curve.
 %
 %    o measure_error: A value other than zero measures the difference between
 %      the original and quantized images.  This difference is the total
@@ -11268,9 +11268,9 @@
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  MagickShearImage() slides one edge of an image assize_t the X or Y axis,
-%  creating a parallelogram.  An X direction shear slides an edge assize_t the X
-%  axis, while a Y direction shear slides an edge assize_t the Y axis.  The amount
+%  MagickShearImage() slides one edge of an image along the X or Y axis,
+%  creating a parallelogram.  An X direction shear slides an edge along the X
+%  axis, while a Y direction shear slides an edge along the Y axis.  The amount
 %  of the shear is controlled by a shear angle.  For X direction shears, x_shear
 %  is measured relative to the Y axis, and similarly, for Y direction shears
 %  y_shear is measured relative to the X axis.  Empty triangles left over from
@@ -11470,7 +11470,7 @@
 %
 %    o sigma: the standard deviation of the Gaussian, in pixels.
 %
-%    o angle: Apply the effect assize_t this angle.
+%    o angle: Apply the effect along this angle.
 %
 */
 WandExport MagickBooleanType MagickSketchImage(MagickWand *wand,
@@ -12603,7 +12603,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 %  MagickWaveImage()  creates a "ripple" effect in the image by shifting
-%  the pixels vertically assize_t a sine wave whose amplitude and wavelength
+%  the pixels vertically along a sine wave whose amplitude and wavelength
 %  is specified by the given parameters.
 %
 %  The format of the MagickWaveImage method is:
diff --git a/wand/mogrify-private.h b/wand/mogrify-private.h
index 55ac579..db896f1 100644
--- a/wand/mogrify-private.h
+++ b/wand/mogrify-private.h
@@ -47,7 +47,7 @@
     } \
 }
 #define FireImageStack(postfix,advance,fire) \
-  if ((j <= i) && (i < argc)) \
+  if ((j <= i) && (i < (ssize_t) argc)) \
     { \
       if (image_stack[k].image == (Image *) NULL) \
         status&=MogrifyImageInfo(image_stack[k].image_info,(int) (i-j+1), \
diff --git a/wand/mogrify.c b/wand/mogrify.c
index 0bb4c58..aab7c82 100644
--- a/wand/mogrify.c
+++ b/wand/mogrify.c
@@ -221,9 +221,9 @@
       user_time=GetUserTime(timer);
       (void) fprintf(stderr,
         "Performance: %lui %gips %0.3fu %ld:%02ld.%03ld\n",
-        iterations,1.0*iterations/elapsed_time,user_time,(ssize_t)
-        (elapsed_time/60.0),(ssize_t) floor(fmod(elapsed_time,60.0)),
-        (ssize_t) (1000.0*(elapsed_time-floor(elapsed_time))));
+        iterations,1.0*iterations/elapsed_time,user_time,(long)
+        (elapsed_time/60.0),(long) floor(fmod(elapsed_time,60.0)),
+        (long) (1000.0*(elapsed_time-floor(elapsed_time))));
     }
   timer=DestroyTimerInfo(timer);
   return(status);
@@ -336,10 +336,10 @@
     locale_message=tag;
   if (p == (char *) NULL)
     (void) fprintf(stderr,"%s: %ld of %lu, %02ld%% complete\r",locale_message,
-      (ssize_t) offset,(size_t) extent,(ssize_t) (100L*offset/(extent-1)));
+      (long) offset,(size_t) extent,(long) (100L*offset/(extent-1)));
   else
     (void) fprintf(stderr,"%s[%s]: %ld of %lu, %02ld%% complete\r",
-      locale_message,p+1,(ssize_t) offset,(size_t) extent,(ssize_t)
+      locale_message,p+1,(long) offset,(size_t) extent,(long)
       (100L*offset/(extent-1)));
   if (offset == (MagickOffsetType) (extent-1))
     (void) fprintf(stderr,"\n");
@@ -641,9 +641,9 @@
       continue;
     count=MagickMax(ParseMagickOption(MagickCommandOptions,MagickFalse,option),
       0L);
-    if ((i+count) >= argc)
+    if ((i+count) >= (ssize_t) argc)
       break;
-    status=MogrifyImageInfo(image_info,count+1,argv+i,exception);
+    status=MogrifyImageInfo(image_info,(int) count+1,argv+i,exception);
     switch (*(option+1))
     {
       case 'a':
@@ -3632,9 +3632,9 @@
       "-charcoal radius     simulate a charcoal drawing",
       "-chop geometry       remove pixels from the image interior",
       "-clamp               restrict pixel range from 0 to the quantum depth",
-      "-clip                clip assize_t the first path from the 8BIM profile",
+      "-clip                clip along the first path from the 8BIM profile",
       "-clip-mask filename  associate a clip mask with the image",
-      "-clip-path id        clip assize_t a named path from the 8BIM profile",
+      "-clip-path id        clip along a named path from the 8BIM profile",
       "-colorize value      colorize the image with the fill color",
       "-color-matrix matrix apply color correction to the image",
       "-contrast            enhance or reduce the image contrast",
@@ -3724,7 +3724,7 @@
       "-shadow geometry     simulate an image shadow",
       "-sharpen geometry    sharpen the image",
       "-shave geometry      shave pixels from the image edges",
-      "-shear geometry      slide one edge of the image assize_t the X or Y axis",
+      "-shear geometry      slide one edge of the image along the X or Y axis",
       "-sigmoidal-contrast geometry",
       "                     increase the contrast without saturating highlights or shadows",
       "-sketch geometry     simulate a pencil sketch",
@@ -3748,7 +3748,7 @@
       "-unique-colors       discard all but one of any pixel color",
       "-unsharp geometry    sharpen the image",
       "-vignette geometry   soften the edges of the image in vignette style",
-      "-wave geometry       alter an image assize_t a sine wave",
+      "-wave geometry       alter an image along a sine wave",
       "-white-threshold value",
       "                     force all pixels above the threshold into white",
       (char *) NULL
@@ -4044,7 +4044,7 @@
         */
         FireImageStack(MagickFalse,MagickFalse,pend);
         filename=argv[i];
-        if ((LocaleCompare(filename,"--") == 0) && (i < (argc-1)))
+        if ((LocaleCompare(filename,"--") == 0) && (i < (ssize_t) (argc-1)))
           filename=argv[++i];
         (void) CopyMagickString(image_info->filename,filename,MaxTextExtent);
         images=ReadImages(image_info,exception);
@@ -6342,7 +6342,7 @@
   }
   if (k != 0)
     ThrowMogrifyException(OptionError,"UnbalancedParenthesis",argv[i]);
-  if (i != argc)
+  if (i != (ssize_t) argc)
     ThrowMogrifyException(OptionError,"MissingAnImageFilename",argv[i]);
   DestroyMogrify();
   return(status != 0 ? MagickTrue : MagickFalse);
@@ -6415,7 +6415,7 @@
       continue;
     count=MagickMax(ParseMagickOption(MagickCommandOptions,MagickFalse,option),
       0L);
-    if ((i+count) >= argc)
+    if ((i+count) >= (ssize_t) argc)
       break;
     switch (*(option+1))
     {
@@ -7570,9 +7570,9 @@
       continue;
     count=MagickMax(ParseMagickOption(MagickCommandOptions,MagickFalse,option),
       0L);
-    if ((i+count) >= argc)
+    if ((i+count) >= (ssize_t) argc)
       break;
-    status=MogrifyImageInfo(image_info,count+1,argv+i,exception);
+    status=MogrifyImageInfo(image_info,(int) count+1,argv+i,exception);
     switch (*(option+1))
     {
       case 'a':
diff --git a/wand/montage.c b/wand/montage.c
index 6014980..e3d9012 100644
--- a/wand/montage.c
+++ b/wand/montage.c
@@ -292,11 +292,13 @@
   ImageStack
     image_stack[MaxImageStackDepth+1];
 
-  ssize_t
+  long
     first_scene,
+    last_scene;
+
+  ssize_t
     j,
     k,
-    last_scene,
     scene;
 
   MagickBooleanType
@@ -382,7 +384,7 @@
           *images;
 
         FireImageStack(MagickFalse,MagickFalse,pend);
-        for (scene=first_scene; scene <= last_scene ; scene++)
+        for (scene=(ssize_t) first_scene; scene <= (ssize_t) last_scene ; scene++)
         {
           char
             *filename;
@@ -391,7 +393,7 @@
             Option is a file name: begin by reading image from specified file.
           */
           filename=argv[i];
-          if ((LocaleCompare(filename,"--") == 0) && (i < (argc-1)))
+          if ((LocaleCompare(filename,"--") == 0) && (i < (ssize_t) (argc-1)))
             filename=argv[++i];
           (void) CopyMagickString(image_info->filename,filename,MaxTextExtent);
           if (first_scene != last_scene)
@@ -1389,7 +1391,7 @@
               ThrowMontageException(OptionError,"MissingArgument",option);
             if (IsSceneGeometry(argv[i],MagickFalse) == MagickFalse)
               ThrowMontageInvalidArgumentException(option,argv[i]);
-            first_scene=StringToLong(argv[i]);
+            first_scene=(int) StringToLong(argv[i]);
             last_scene=first_scene;
             (void) sscanf(argv[i],"%ld-%ld",&first_scene,&last_scene);
             break;
diff --git a/wand/pixel-view.c b/wand/pixel-view.c
index 430455c..6621aec 100644
--- a/wand/pixel-view.c
+++ b/wand/pixel-view.c
@@ -265,13 +265,15 @@
     *duplex_image,
     *source_image;
 
-  ssize_t
-    progress,
-    y;
-
   MagickBooleanType
     status;
 
+  MagickOffsetType
+    progress;
+
+  ssize_t
+    y;
+
   assert(source != (PixelView *) NULL);
   assert(source->signature == WandSignature);
   if (transfer == (DuplexTransferPixelViewMethod) NULL)
@@ -530,13 +532,15 @@
   Image
     *source_image;
 
-  ssize_t
-    progress,
-    y;
-
   MagickBooleanType
     status;
 
+  MagickOffsetType
+    progress;
+
+  ssize_t
+    y;
+
   assert(source != (PixelView *) NULL);
   assert(source->signature == WandSignature);
   if (get == (GetPixelViewMethod) NULL)
@@ -973,13 +977,15 @@
   Image
     *destination_image;
 
-  ssize_t
-    progress,
-    y;
-
   MagickBooleanType
     status;
 
+  MagickOffsetType
+    progress;
+
+  ssize_t
+    y;
+
   assert(destination != (PixelView *) NULL);
   assert(destination->signature == WandSignature);
   if (set == (SetPixelViewMethod) NULL)
@@ -1106,13 +1112,15 @@
     *destination_image,
     *source_image;
 
-  ssize_t
-    progress,
-    y;
-
   MagickBooleanType
     status;
 
+  MagickOffsetType
+    progress;
+
+  ssize_t
+    y;
+
   assert(source != (PixelView *) NULL);
   assert(source->signature == WandSignature);
   if (transfer == (TransferPixelViewMethod) NULL)
@@ -1265,13 +1273,15 @@
   Image
     *source_image;
 
-  ssize_t
-    progress,
-    y;
-
   MagickBooleanType
     status;
 
+  MagickOffsetType
+    progress;
+
+  ssize_t
+    y;
+
   assert(source != (PixelView *) NULL);
   assert(source->signature == WandSignature);
   if (update == (UpdatePixelViewMethod) NULL)
diff --git a/wand/stream.c b/wand/stream.c
index 877e5c3..362253d 100644
--- a/wand/stream.c
+++ b/wand/stream.c
@@ -289,7 +289,7 @@
         */
         FireImageStack(MagickFalse,MagickFalse,pend);
         filename=argv[i];
-        if ((LocaleCompare(filename,"--") == 0) && (i < (argc-1)))
+        if ((LocaleCompare(filename,"--") == 0) && (i < (ssize_t) (argc-1)))
           filename=argv[++i];
         (void) CopyMagickString(image_info->filename,filename,MaxTextExtent);
         images=StreamImage(image_info,stream_info,exception);
diff --git a/wand/wandtest.c b/wand/wandtest.c
index 86e554a..3f31795 100644
--- a/wand/wandtest.c
+++ b/wand/wandtest.c
@@ -400,9 +400,6 @@
   register ssize_t
     i;
 
-  size_t
-    length;
-
   unsigned char
     *profile;
 
@@ -412,6 +409,7 @@
   size_t
     columns,
     delay,
+    length,
     number_options,
     number_profiles,
     number_properties,
@@ -454,11 +452,11 @@
   (void) fprintf(stdout,"Iterate forward...\n");
   MagickResetIterator(magick_wand);
   while (MagickNextImage(magick_wand) != MagickFalse)
-    (void) fprintf(stdout,"index %ld scene %lu\n",
+    (void) fprintf(stdout,"index %ld scene %lu\n",(long)
       MagickGetIteratorIndex(magick_wand),MagickGetImageScene(magick_wand));
   (void) fprintf(stdout,"Iterate reverse...\n");
   while (MagickPreviousImage(magick_wand) != MagickFalse)
-    (void) fprintf(stdout,"index %ld scene %lu\n",
+    (void) fprintf(stdout,"index %ld scene %lu\n",(long)
       MagickGetIteratorIndex(magick_wand),MagickGetImageScene(magick_wand));
   (void) fprintf(stdout,"Remove scene 1...\n");
   (void) MagickSetIteratorIndex(magick_wand,1);
@@ -468,7 +466,7 @@
     ThrowAPIException(magick_wand);
   MagickResetIterator(magick_wand);
   while (MagickNextImage(magick_wand) != MagickFalse)
-    (void) fprintf(stdout,"index %ld scene %lu\n",
+    (void) fprintf(stdout,"index %ld scene %lu\n",(long)
       MagickGetIteratorIndex(magick_wand),MagickGetImageScene(magick_wand));
   (void) fprintf(stdout,"Insert scene 1 back in sequence...\n");
   (void) MagickSetIteratorIndex(magick_wand,0);
@@ -477,7 +475,7 @@
     ThrowAPIException(magick_wand);
   MagickResetIterator(magick_wand);
   while (MagickNextImage(magick_wand) != MagickFalse)
-    (void) fprintf(stdout,"index %ld scene %lu\n",
+    (void) fprintf(stdout,"index %ld scene %lu\n",(long)
       MagickGetIteratorIndex(magick_wand),MagickGetImageScene(magick_wand));
   (void) fprintf(stdout,"Set scene 2 to scene 1...\n");
   (void) MagickSetIteratorIndex(magick_wand,2);
@@ -487,7 +485,7 @@
     ThrowAPIException(magick_wand);
   MagickResetIterator(magick_wand);
   while (MagickNextImage(magick_wand) != MagickFalse)
-    (void) fprintf(stdout,"index %ld scene %lu\n",
+    (void) fprintf(stdout,"index %ld scene %lu\n",(long)
       MagickGetIteratorIndex(magick_wand),MagickGetImageScene(magick_wand));
   (void) fprintf(stdout,"Apply image processing options...\n");
   status=MagickCropImage(magick_wand,60,60,10,10);
@@ -567,8 +565,8 @@
   MagickResetIterator(magick_wand);
   while (MagickNextImage(magick_wand) != MagickFalse)
   {
-    MagickSetImageDepth(magick_wand,8);
-    MagickSetImageCompression(magick_wand,RLECompression);
+    (void) MagickSetImageDepth(magick_wand,8);
+    (void) MagickSetImageCompression(magick_wand,RLECompression);
   }
   MagickResetIterator(magick_wand);
   (void) MagickSetIteratorIndex(magick_wand,4);