diff --git a/MagickCore/blob.c b/MagickCore/blob.c
index 96fe819..a0e53e2 100644
--- a/MagickCore/blob.c
+++ b/MagickCore/blob.c
@@ -505,7 +505,7 @@
     case ZipStream:
     {
 #if defined(MAGICKCORE_ZLIB_DELEGATE)
-      (void) gzerror(image->blob->file,&status);
+      (void) gzerror((gzFile) image->blob->file,&status);
 #endif
       break;
     }
@@ -546,7 +546,7 @@
     case ZipStream:
     {
 #if defined(MAGICKCORE_ZLIB_DELEGATE)
-      status=gzclose(image->blob->file);
+      status=gzclose((gzFile) image->blob->file);
 #endif
       break;
     }
@@ -2761,12 +2761,13 @@
       {
         default:
         {
-          count=(ssize_t) gzread(image->blob->file,q,(unsigned int) length);
+          count=(ssize_t) gzread((gzFile) image->blob->file,q,(unsigned int)
+            length);
           break;
         }
         case 2:
         {
-          c=gzgetc(image->blob->file);
+          c=gzgetc((gzFile) image->blob->file);
           if (c == EOF)
             break;
           *q++=(unsigned char) c;
@@ -2774,7 +2775,7 @@
         }
         case 1:
         {
-          c=gzgetc(image->blob->file);
+          c=gzgetc((gzFile) image->blob->file);
           if (c == EOF)
             break;
           *q++=(unsigned char) c;
@@ -3517,7 +3518,7 @@
     case ZipStream:
     {
 #if defined(MAGICKCORE_ZLIB_DELEGATE)
-      if (gzseek(image->blob->file,(off_t) offset,whence) < 0)
+      if (gzseek((gzFile) image->blob->file,(off_t) offset,whence) < 0)
         return(-1);
 #endif
       image->blob->offset=TellBlob(image);
@@ -3781,7 +3782,7 @@
     case ZipStream:
     {
 #if defined(MAGICKCORE_ZLIB_DELEGATE)
-      status=gzflush(image->blob->file,Z_SYNC_FLUSH);
+      status=gzflush((gzFile) image->blob->file,Z_SYNC_FLUSH);
 #endif
       break;
     }
@@ -3855,7 +3856,7 @@
     case ZipStream:
     {
 #if defined(MAGICKCORE_ZLIB_DELEGATE)
-      offset=(MagickOffsetType) gztell(image->blob->file);
+      offset=(MagickOffsetType) gztell((gzFile) image->blob->file);
 #endif
       break;
     }
@@ -4004,20 +4005,20 @@
       {
         default:
         {
-          count=(ssize_t) gzwrite(image->blob->file,(void *) data,
+          count=(ssize_t) gzwrite((gzFile) image->blob->file,(void *) data,
             (unsigned int) length);
           break;
         }
         case 2:
         {
-          c=gzputc(image->blob->file,(int) *p++);
+          c=gzputc((gzFile) image->blob->file,(int) *p++);
           if (c == EOF)
             break;
           count++;
         }
         case 1:
         {
-          c=gzputc(image->blob->file,(int) *p++);
+          c=gzputc((gzFile) image->blob->file,(int) *p++);
           if (c == EOF)
             break;
           count++;