|
@@ -0,0 +1,227 @@
|
|
|
+[PATCH] Fix build with recent versions of zlib
|
|
|
+
|
|
|
+From upstream:
|
|
|
+r6633 + r6636 @ https://www.imagemagick.org/subversion/ImageMagick
|
|
|
+
|
|
|
+Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
|
|
|
+---
|
|
|
+ magick/blob.c | 68 ++++++++++++++++++++++++++++++++++------------------------
|
|
|
+ 1 file changed, 40 insertions(+), 28 deletions(-)
|
|
|
+
|
|
|
+Index: ImageMagick-6.7.2-10/magick/blob.c
|
|
|
+===================================================================
|
|
|
+--- ImageMagick-6.7.2-10.orig/magick/blob.c
|
|
|
++++ ImageMagick-6.7.2-10/magick/blob.c
|
|
|
+@@ -120,8 +120,20 @@
|
|
|
+ StreamType
|
|
|
+ type;
|
|
|
+
|
|
|
+- FILE
|
|
|
+- *file;
|
|
|
++ union {
|
|
|
++ FILE
|
|
|
++ *file;
|
|
|
++
|
|
|
++#if defined(MAGICKCORE_ZLIB_DELEGATE)
|
|
|
++ gzFile
|
|
|
++ gzfile;
|
|
|
++#endif
|
|
|
++
|
|
|
++#if defined(MAGICKCORE_BZLIB_DELEGATE)
|
|
|
++ BZFILE
|
|
|
++ *bzfile;
|
|
|
++#endif
|
|
|
++ };
|
|
|
+
|
|
|
+ struct stat
|
|
|
+ properties;
|
|
|
+@@ -505,14 +517,14 @@
|
|
|
+ case ZipStream:
|
|
|
+ {
|
|
|
+ #if defined(MAGICKCORE_ZLIB_DELEGATE)
|
|
|
+- (void) gzerror(image->blob->file,&status);
|
|
|
++ (void) gzerror(image->blob->gzfile,&status);
|
|
|
+ #endif
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case BZipStream:
|
|
|
+ {
|
|
|
+ #if defined(MAGICKCORE_BZLIB_DELEGATE)
|
|
|
+- (void) BZ2_bzerror((BZFILE *) image->blob->file,&status);
|
|
|
++ (void) BZ2_bzerror(image->blob->bzfile,&status);
|
|
|
+ #endif
|
|
|
+ break;
|
|
|
+ }
|
|
|
+@@ -546,14 +558,14 @@
|
|
|
+ case ZipStream:
|
|
|
+ {
|
|
|
+ #if defined(MAGICKCORE_ZLIB_DELEGATE)
|
|
|
+- status=gzclose(image->blob->file);
|
|
|
++ status=gzclose(image->blob->gzfile);
|
|
|
+ #endif
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case BZipStream:
|
|
|
+ {
|
|
|
+ #if defined(MAGICKCORE_BZLIB_DELEGATE)
|
|
|
+- BZ2_bzclose((BZFILE *) image->blob->file);
|
|
|
++ BZ2_bzclose(image->blob->bzfile);
|
|
|
+ #endif
|
|
|
+ break;
|
|
|
+ }
|
|
|
+@@ -843,7 +855,7 @@
|
|
|
+ status;
|
|
|
+
|
|
|
+ status=0;
|
|
|
+- (void) BZ2_bzerror((BZFILE *) image->blob->file,&status);
|
|
|
++ (void) BZ2_bzerror(image->blob->bzfile,&status);
|
|
|
+ image->blob->eof=status == BZ_UNEXPECTED_EOF ? MagickTrue : MagickFalse;
|
|
|
+ #endif
|
|
|
+ break;
|
|
|
+@@ -2486,8 +2498,8 @@
|
|
|
+ ((int) magick[2] == 0x08))
|
|
|
+ {
|
|
|
+ (void) fclose(image->blob->file);
|
|
|
+- image->blob->file=(FILE *) gzopen(filename,type);
|
|
|
+- if (image->blob->file != (FILE *) NULL)
|
|
|
++ image->blob->gzfile=gzopen(filename,type);
|
|
|
++ if (image->blob->gzfile != (gzFile) NULL)
|
|
|
+ image->blob->type=ZipStream;
|
|
|
+ }
|
|
|
+ #endif
|
|
|
+@@ -2495,8 +2507,8 @@
|
|
|
+ if (strncmp((char *) magick,"BZh",3) == 0)
|
|
|
+ {
|
|
|
+ (void) fclose(image->blob->file);
|
|
|
+- image->blob->file=(FILE *) BZ2_bzopen(filename,type);
|
|
|
+- if (image->blob->file != (FILE *) NULL)
|
|
|
++ image->blob->bzfile=BZ2_bzopen(filename,type);
|
|
|
++ if (image->blob->bzfile != (BZFILE *) NULL)
|
|
|
+ image->blob->type=BZipStream;
|
|
|
+ }
|
|
|
+ #endif
|
|
|
+@@ -2555,8 +2567,8 @@
|
|
|
+ {
|
|
|
+ if (mode == WriteBinaryBlobMode)
|
|
|
+ type="wb";
|
|
|
+- image->blob->file=(FILE *) gzopen(filename,type);
|
|
|
+- if (image->blob->file != (FILE *) NULL)
|
|
|
++ image->blob->gzfile=gzopen(filename,type);
|
|
|
++ if (image->blob->gzfile != (gzFile) NULL)
|
|
|
+ image->blob->type=ZipStream;
|
|
|
+ }
|
|
|
+ else
|
|
|
+@@ -2564,8 +2576,8 @@
|
|
|
+ #if defined(MAGICKCORE_BZLIB_DELEGATE)
|
|
|
+ if (LocaleCompare(extension,".bz2") == 0)
|
|
|
+ {
|
|
|
+- image->blob->file=(FILE *) BZ2_bzopen(filename,type);
|
|
|
+- if (image->blob->file != (FILE *) NULL)
|
|
|
++ image->blob->bzfile=BZ2_bzopen(filename,type);
|
|
|
++ if (image->blob->bzfile != (BZFILE *) NULL)
|
|
|
+ image->blob->type=BZipStream;
|
|
|
+ }
|
|
|
+ else
|
|
|
+@@ -2771,12 +2783,12 @@
|
|
|
+ {
|
|
|
+ default:
|
|
|
+ {
|
|
|
+- count=(ssize_t) gzread(image->blob->file,q,(unsigned int) length);
|
|
|
++ count=(ssize_t) gzread(image->blob->gzfile,q,(unsigned int) length);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case 2:
|
|
|
+ {
|
|
|
+- c=gzgetc(image->blob->file);
|
|
|
++ c=gzgetc(image->blob->gzfile);
|
|
|
+ if (c == EOF)
|
|
|
+ break;
|
|
|
+ *q++=(unsigned char) c;
|
|
|
+@@ -2784,7 +2796,7 @@
|
|
|
+ }
|
|
|
+ case 1:
|
|
|
+ {
|
|
|
+- c=gzgetc(image->blob->file);
|
|
|
++ c=gzgetc(image->blob->gzfile);
|
|
|
+ if (c == EOF)
|
|
|
+ break;
|
|
|
+ *q++=(unsigned char) c;
|
|
|
+@@ -2799,7 +2811,7 @@
|
|
|
+ case BZipStream:
|
|
|
+ {
|
|
|
+ #if defined(MAGICKCORE_BZLIB_DELEGATE)
|
|
|
+- count=(ssize_t) BZ2_bzread((BZFILE *) image->blob->file,q,(int) length);
|
|
|
++ count=(ssize_t) BZ2_bzread(image->blob->bzfile,q,(int) length);
|
|
|
+ #endif
|
|
|
+ break;
|
|
|
+ }
|
|
|
+@@ -3527,7 +3539,7 @@
|
|
|
+ case ZipStream:
|
|
|
+ {
|
|
|
+ #if defined(MAGICKCORE_ZLIB_DELEGATE)
|
|
|
+- if (gzseek(image->blob->file,(off_t) offset,whence) < 0)
|
|
|
++ if (gzseek(image->blob->gzfile,(off_t) offset,whence) < 0)
|
|
|
+ return(-1);
|
|
|
+ #endif
|
|
|
+ image->blob->offset=TellBlob(image);
|
|
|
+@@ -3791,14 +3803,14 @@
|
|
|
+ case ZipStream:
|
|
|
+ {
|
|
|
+ #if defined(MAGICKCORE_ZLIB_DELEGATE)
|
|
|
+- status=gzflush(image->blob->file,Z_SYNC_FLUSH);
|
|
|
++ status=gzflush(image->blob->gzfile,Z_SYNC_FLUSH);
|
|
|
+ #endif
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case BZipStream:
|
|
|
+ {
|
|
|
+ #if defined(MAGICKCORE_BZLIB_DELEGATE)
|
|
|
+- status=BZ2_bzflush((BZFILE *) image->blob->file);
|
|
|
++ status=BZ2_bzflush(image->blob->bzfile);
|
|
|
+ #endif
|
|
|
+ break;
|
|
|
+ }
|
|
|
+@@ -3865,7 +3877,7 @@
|
|
|
+ case ZipStream:
|
|
|
+ {
|
|
|
+ #if defined(MAGICKCORE_ZLIB_DELEGATE)
|
|
|
+- offset=(MagickOffsetType) gztell(image->blob->file);
|
|
|
++ offset=(MagickOffsetType) gztell(image->blob->gzfile);
|
|
|
+ #endif
|
|
|
+ break;
|
|
|
+ }
|
|
|
+@@ -4014,20 +4026,20 @@
|
|
|
+ {
|
|
|
+ default:
|
|
|
+ {
|
|
|
+- count=(ssize_t) gzwrite(image->blob->file,(void *) data,
|
|
|
++ count=(ssize_t) gzwrite(image->blob->gzfile,(void *) data,
|
|
|
+ (unsigned int) length);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case 2:
|
|
|
+ {
|
|
|
+- c=gzputc(image->blob->file,(int) *p++);
|
|
|
++ c=gzputc(image->blob->gzfile,(int) *p++);
|
|
|
+ if (c == EOF)
|
|
|
+ break;
|
|
|
+ count++;
|
|
|
+ }
|
|
|
+ case 1:
|
|
|
+ {
|
|
|
+- c=gzputc(image->blob->file,(int) *p++);
|
|
|
++ c=gzputc(image->blob->gzfile,(int) *p++);
|
|
|
+ if (c == EOF)
|
|
|
+ break;
|
|
|
+ count++;
|
|
|
+@@ -4041,8 +4053,8 @@
|
|
|
+ case BZipStream:
|
|
|
+ {
|
|
|
+ #if defined(MAGICKCORE_BZLIB_DELEGATE)
|
|
|
+- count=(ssize_t) BZ2_bzwrite((BZFILE *) image->blob->file,(void *) data,
|
|
|
+- (int) length);
|
|
|
++ count=(ssize_t) BZ2_bzwrite(image->blob->bzfile,(void *) data,(int)
|
|
|
++ length);
|
|
|
+ #endif
|
|
|
+ break;
|
|
|
+ }
|