From: cristy Date: Tue, 31 Jan 2012 14:34:38 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~6287 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cfd11420909574bb59ecb8fe10258942adbbb3bf;p=imagemagick --- diff --git a/MagickCore/blob.c b/MagickCore/blob.c index a0e53e2b7..0be29653a 100644 --- a/MagickCore/blob.c +++ b/MagickCore/blob.c @@ -120,8 +120,20 @@ struct _BlobInfo 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 @@ MagickExport MagickBooleanType CloseBlob(Image *image) case ZipStream: { #if defined(MAGICKCORE_ZLIB_DELEGATE) - (void) gzerror((gzFile) 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 @@ MagickExport MagickBooleanType CloseBlob(Image *image) case ZipStream: { #if defined(MAGICKCORE_ZLIB_DELEGATE) - status=gzclose((gzFile) 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 @@ MagickExport int EOFBlob(const Image *image) 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; @@ -2761,13 +2773,12 @@ MagickExport ssize_t ReadBlob(Image *image,const size_t length, { default: { - count=(ssize_t) gzread((gzFile) image->blob->file,q,(unsigned int) - length); + count=(ssize_t) gzread(image->blob->gzfile,q,(unsigned int) length); break; } case 2: { - c=gzgetc((gzFile) image->blob->file); + c=gzgetc(image->blob->gzfile); if (c == EOF) break; *q++=(unsigned char) c; @@ -2775,7 +2786,7 @@ MagickExport ssize_t ReadBlob(Image *image,const size_t length, } case 1: { - c=gzgetc((gzFile) image->blob->file); + c=gzgetc(image->blob->gzfile); if (c == EOF) break; *q++=(unsigned char) c; @@ -2790,7 +2801,7 @@ MagickExport ssize_t ReadBlob(Image *image,const size_t length, 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; } @@ -3518,7 +3529,7 @@ MagickExport MagickOffsetType SeekBlob(Image *image, case ZipStream: { #if defined(MAGICKCORE_ZLIB_DELEGATE) - if (gzseek((gzFile) 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); @@ -3782,14 +3793,14 @@ static int SyncBlob(Image *image) case ZipStream: { #if defined(MAGICKCORE_ZLIB_DELEGATE) - status=gzflush((gzFile) 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; } @@ -3856,7 +3867,7 @@ MagickExport MagickOffsetType TellBlob(const Image *image) case ZipStream: { #if defined(MAGICKCORE_ZLIB_DELEGATE) - offset=(MagickOffsetType) gztell((gzFile) image->blob->file); + offset=(MagickOffsetType) gztell(image->blob->gzfile); #endif break; } @@ -4005,20 +4016,20 @@ MagickExport ssize_t WriteBlob(Image *image,const size_t length, { default: { - count=(ssize_t) gzwrite((gzFile) image->blob->file,(void *) data, + count=(ssize_t) gzwrite(image->blob->gzfile,(void *) data, (unsigned int) length); break; } case 2: { - c=gzputc((gzFile) image->blob->file,(int) *p++); + c=gzputc(image->blob->gzfile,(int) *p++); if (c == EOF) break; count++; } case 1: { - c=gzputc((gzFile) image->blob->file,(int) *p++); + c=gzputc(image->blob->gzfile,(int) *p++); if (c == EOF) break; count++; @@ -4032,8 +4043,8 @@ MagickExport ssize_t WriteBlob(Image *image,const size_t length, 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; }