From: cristy Date: Fri, 20 Jul 2012 13:27:40 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~5246 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a96b21652f6a81e30fabc78dbad8a6964c4739b8;p=imagemagick --- diff --git a/MagickCore/blob.c b/MagickCore/blob.c index 0ebe62996..490b28716 100644 --- a/MagickCore/blob.c +++ b/MagickCore/blob.c @@ -2397,22 +2397,6 @@ MagickExport MagickBooleanType OpenBlob(const ImageInfo *image_info, #if defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__OS2__) if (strchr(type,'b') != (char *) NULL) setmode(_fileno(image->blob->file_info.file),_O_BINARY); -#endif - image->blob->type=StandardStream; - image->blob->exempt=MagickTrue; - return(MagickTrue); - } - if (LocaleNCompare(filename,"fd:",3) == 0) - { - char - mode[MaxTextExtent]; - - *mode=(*type); - mode[1]='\0'; - image->blob->file_info.file=fdopen(StringToLong(filename+3),mode); -#if defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__OS2__) - if (strchr(type,'b') != (char *) NULL) - setmode(_fileno(image->blob->file_info.file),_O_BINARY); #endif image->blob->type=StandardStream; image->blob->exempt=MagickTrue; diff --git a/MagickCore/constitute.c b/MagickCore/constitute.c index 1123bc589..98b313f4a 100644 --- a/MagickCore/constitute.c +++ b/MagickCore/constitute.c @@ -461,6 +461,12 @@ MagickExport Image *ReadImage(const ImageInfo *image_info, "NotAuthorized","'%s'",read_info->filename); return((Image *) NULL); } + if ((LocaleNCompare(filename,"fd:",3) == 0) && + (image_info->file == (FILE *) NULL)) + { + read_info->file=fdopen(StringToLong(filename+3),"rb"); + SetImageInfoFile((ImageInfo *) image_info,read_info->file); + } /* Call appropriate image reader based on image type. */ @@ -1065,6 +1071,15 @@ MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info, errno=EPERM; ThrowBinaryException(PolicyError,"NotAuthorized",filename); } + if ((LocaleNCompare(filename,"fd:",3) == 0) && + (image_info->file == (FILE *) NULL)) + { + write_info->file=fdopen(StringToLong(filename+3),"rb"); + SetImageInfoFile((ImageInfo *) image_info,write_info->file); + } + /* + Call appropriate image reader based on image type. + */ magick_info=GetMagickInfo(write_info->magick,sans_exception); sans_exception=DestroyExceptionInfo(sans_exception); if (magick_info != (const MagickInfo *) NULL)