]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Mon, 31 May 2010 14:17:06 +0000 (14:17 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Mon, 31 May 2010 14:17:06 +0000 (14:17 +0000)
wand/mogrify.c

index 07e8139304a8b020089eee253c9ccc3c04aa58c8..ca5061517a62a67e2b6e051024a114d4e4c777a3 100644 (file)
@@ -2878,38 +2878,38 @@ WandExport MagickBooleanType MogrifyImage(ImageInfo *image_info,const int argc,
           }
         if (LocaleCompare("set",option+1) == 0)
           {
+            char
+              *value;
+
             /*
               Set image option.
             */
+            if (*option == '+')
+              {
+                if (LocaleNCompare(argv[i+1],"registry:",9) == 0)
+                  (void) DeleteImageRegistry(argv[i+1]+9);
+                else
+                  if (LocaleNCompare(argv[i+1],"option:",7) == 0)
+                    (void) DeleteImageOption(image_info,argv[i+1]+7);
+                  else
+                    (void) DeleteImageProperty(*image,argv[i+1]);
+                break;
+              }
+            value=InterpretImageProperties(image_info,*image,argv[i+2]);
+            if (value == (char *) NULL)
+              break;
             if (LocaleNCompare(argv[i+1],"registry:",9) == 0)
-              (void) DeleteImageRegistry(argv[i+1]+9);
+              (void) SetImageRegistry(StringRegistryType,argv[i+1]+9,value,
+                exception);
             else
               if (LocaleNCompare(argv[i+1],"option:",7) == 0)
-                (void) DeleteImageOption(image_info,argv[i+1]+7);
+                {
+                  (void) SetImageOption(image_info,argv[i+1]+7,value);
+                  (void) SetImageArtifact(*image,argv[i+1]+7,value);
+                }
               else
-                (void) DeleteImageProperty(*image,argv[i+1]);
-            if (*option == '-')
-              {
-                char
-                  *value;
-
-                value=InterpretImageProperties(image_info,*image,argv[i+2]);
-                if (value != (char *) NULL)
-                  {
-                    if (LocaleNCompare(argv[i+1],"registry:",9) == 0)
-                      (void) SetImageRegistry(StringRegistryType,argv[i+1]+9,
-                        value,exception);
-                    else
-                      if (LocaleNCompare(argv[i+1],"option:",7) == 0)
-                        {
-                          (void) SetImageOption(image_info,argv[i+1]+7,value);
-                          (void) SetImageArtifact(*image,argv[i+1]+7,value);
-                        }
-                      else
-                        (void) SetImageProperty(*image,argv[i+1],value);
-                    value=DestroyString(value);
-                  }
-              }
+                (void) SetImageProperty(*image,argv[i+1],value);
+            value=DestroyString(value);
             break;
           }
         if (LocaleCompare("shade",option+1) == 0)