]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Sat, 12 Jun 2010 19:07:47 +0000 (19:07 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Sat, 12 Jun 2010 19:07:47 +0000 (19:07 +0000)
ChangeLog
magick/utility.c
wand/mogrify.c

index 73931ad7ba948f9fed5465ccf1c9255a3c265486..a5bfa609df59ff59431f5a6b52d6f7f7606fe5e4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2010-06-12  6.6.2-5 Cristy  <quetzlzacatenango@image...>
+  * mogrify -format properly handles compressed image filename (e.g.
+    -format jpg logo.png.bz2).
+
 2010-06-12  6.6.2-5 Anthony Thyssen <A.Thyssen@griffith...>
   * Fix transprancy handling for Morphology Convolve
   * Adjustments of Hit And Miss and Edge Detection kernel definitions
index b39ec95e34e086004e698ec97c93da86a6f4ae09..2a187c0cabbfd718a2b1578897de95fd4a04f64e 100644 (file)
@@ -266,6 +266,7 @@ MagickExport MagickBooleanType AcquireUniqueSymbolicLink(const char *source,
 MagickExport void AppendImageFormat(const char *format,char *filename)
 {
   char
+    extension[MaxTextExtent],
     root[MaxTextExtent];
 
   assert(format != (char *) NULL);
@@ -282,6 +283,20 @@ MagickExport void AppendImageFormat(const char *format,char *filename)
       (void) CopyMagickString(filename,message,MaxTextExtent);
       return;
     }
+  GetPathComponent(filename,ExtensionPath,extension);
+  if ((LocaleCompare(extension,"Z") == 0) ||
+      (LocaleCompare(extension,"bz2") == 0) ||
+      (LocaleCompare(extension,"gz") == 0) ||
+      (LocaleCompare(extension,"wmz") == 0) ||
+      (LocaleCompare(extension,"svgz") == 0))
+    {
+      GetPathComponent(filename,RootPath,root);
+      (void) CopyMagickString(filename,root,MaxTextExtent);
+      GetPathComponent(filename,RootPath,root);
+      (void) FormatMagickString(filename,MaxTextExtent,"%s.%s.%s",root,format,
+        extension);
+      return;
+    }
   GetPathComponent(filename,RootPath,root);
   (void) FormatMagickString(filename,MaxTextExtent,"%s.%s",root,format);
 }
index 6a420c762d8e990b45b7958397659a1a1745a82b..bf8077b54c1d7df1731c9586e7e43d12b4ff42bd 100644 (file)
@@ -4062,7 +4062,11 @@ WandExport MagickBooleanType MogrifyImageCommand(ImageInfo *image_info,
               path,*DirectorySeparator,filename);
           }
         if (format != (char *) NULL)
-          AppendImageFormat(format,images->filename);
+          {
+            (void) CopyMagickString(images->filename,images->magick_filename,
+              MaxTextExtent);
+            AppendImageFormat(format,images->filename);
+          }
         AppendImageStack(images);
         FinalizeImageSettings(image_info,image,MagickFalse);
         if (global_colormap != MagickFalse)