]> granicus.if.org Git - imagemagick/blobdiff - coders/url.c
(no commit message)
[imagemagick] / coders / url.c
index 5991e5461e2300a2f4fcb400237c5db14c121ee6..19dbd73bdceeb5fbda4889cbe4036eb72139dc64 100644 (file)
@@ -18,7 +18,7 @@
 %                                March 2000                                   %
 %                                                                             %
 %                                                                             %
-%  Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization      %
+%  Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization      %
 %  dedicated to making software imaging solutions freely available.           %
 %                                                                             %
 %  You may not use this file except in compliance with the License.  You may  %
@@ -59,7 +59,7 @@
 #include "MagickCore/utility.h"
 #if defined(MAGICKCORE_XML_DELEGATE)
 #  if defined(MAGICKCORE_WINDOWS_SUPPORT)
-#    if defined(__MINGW32__)
+#    if defined(__MINGW32__) || defined(__MINGW64__)
 #      define _MSC_VER
 #    else
 #      include <win32config.h>
@@ -220,7 +220,23 @@ static Image *ReadURLImage(const ImageInfo *image_info,ExceptionInfo *exception)
     }
 #endif
   (void) fclose(file);
-  *read_info->magick='\0';
+  {
+    ExceptionInfo
+      *sans;
+
+    ImageInfo
+      *clone_info;
+
+    /*
+      Guess image format from URL.
+    */
+    clone_info=CloneImageInfo(image_info);
+    sans=AcquireExceptionInfo();
+    (void) SetImageInfo(clone_info,0,sans);
+    (void) CopyMagickString(read_info->magick,clone_info->magick,MaxTextExtent);
+    clone_info=DestroyImageInfo(clone_info);
+    sans=DestroyExceptionInfo(sans);
+  }
   image=ReadImage(read_info,exception);
   if (unique_file != -1)
     (void) RelinquishUniqueFileResource(read_info->filename);
@@ -228,8 +244,11 @@ static Image *ReadURLImage(const ImageInfo *image_info,ExceptionInfo *exception)
   if (image != (Image *) NULL)
     GetPathComponent(image_info->filename,TailPath,image->filename);
   else
-    (void) ThrowMagickException(exception,GetMagickModule(),CoderError,
-      "NoDataReturned","`%s'",filename);
+    {
+      (void) ThrowMagickException(exception,GetMagickModule(),CoderError,
+        "NoDataReturned","`%s'",filename);
+      return((Image *) NULL);
+    }
   return(GetFirstImageInList(image));
 }
 \f