From: cristy Date: Mon, 21 Mar 2011 01:12:28 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~7934 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=79a5dffb824584ef33c562a49c3c3b728783cbff;p=imagemagick --- diff --git a/magick/option.c b/magick/option.c index 56d58c957..fe782314d 100644 --- a/magick/option.c +++ b/magick/option.c @@ -307,8 +307,8 @@ static const OptionInfo { "-draw", 1L, MagickFalse }, { "+duplicate", 1L, MagickFalse }, { "-duplicate", 2L, MagickFalse }, - { "+duration", 1L, MagickTrue }, - { "-duration", 1L, MagickTrue }, + { "+duration", 1L, MagickFalse }, + { "-duration", 1L, MagickFalse }, { "+edge", 0L, MagickFalse }, { "-edge", 1L, MagickFalse }, { "+emboss", 0L, MagickFalse }, diff --git a/wand/convert.c b/wand/convert.c index 976282b6e..e738edef8 100644 --- a/wand/convert.c +++ b/wand/convert.c @@ -1286,7 +1286,11 @@ WandExport MagickBooleanType ConvertImageCommand(ImageInfo *image_info, } if (LocaleCompare("duplicate",option+1) == 0) { + char + *scenes; + Image + *clone_images, *duplicate_images; long @@ -1300,11 +1304,11 @@ WandExport MagickBooleanType ConvertImageCommand(ImageInfo *image_info, FireImageStack(MagickTrue,MagickTrue,MagickTrue); if (*option == '+') { + scenes="-1"; i++; if (i == (ssize_t) (argc-1)) ThrowConvertException(OptionError,"MissingArgument",option); - count=StringToLong(argv[i+1]); - duplicate_images=CloneImages(duplicate_images,"-1",exception); + count=StringToLong(argv[i]); } else { @@ -1313,17 +1317,19 @@ WandExport MagickBooleanType ConvertImageCommand(ImageInfo *image_info, ThrowConvertException(OptionError,"MissingArgument",option); if (IsSceneGeometry(argv[i],MagickFalse) == MagickFalse) ThrowConvertInvalidArgumentException(option,argv[i]); + scenes=argv[i]; i++; if (i == (ssize_t) (argc-1)) ThrowConvertException(OptionError,"MissingArgument",option); - count=StringToLong(argv[i+1]); - duplicate_images=CloneImages(duplicate_images,argv[i], - exception); + count=StringToLong(argv[i]); } - if (duplicate_images == (Image *) NULL) - ThrowConvertException(OptionError,"NoSuchImage",option); while (count-- > 0) - AppendImageStack(duplicate_images); + { + clone_images=CloneImages(duplicate_images,scenes,exception); + if (clone_images == (Image *) NULL) + ThrowConvertException(OptionError,"NoSuchImage",option); + AppendImageStack(clone_images); + } break; } if (LocaleCompare("duration",option+1) == 0) diff --git a/wand/montage.c b/wand/montage.c index d4b0a08fb..0e3307d72 100644 --- a/wand/montage.c +++ b/wand/montage.c @@ -842,7 +842,11 @@ WandExport MagickBooleanType MontageImageCommand(ImageInfo *image_info, } if (LocaleCompare("duplicate",option+1) == 0) { + char + *scenes; + Image + *clone_images, *duplicate_images; long @@ -856,11 +860,11 @@ WandExport MagickBooleanType MontageImageCommand(ImageInfo *image_info, FireImageStack(MagickTrue,MagickTrue,MagickTrue); if (*option == '+') { + scenes="-1"; i++; if (i == (ssize_t) (argc-1)) ThrowMontageException(OptionError,"MissingArgument",option); - count=StringToLong(argv[i+1]); - duplicate_images=CloneImages(duplicate_images,"-1",exception); + count=StringToLong(argv[i]); } else { @@ -869,17 +873,19 @@ WandExport MagickBooleanType MontageImageCommand(ImageInfo *image_info, ThrowMontageException(OptionError,"MissingArgument",option); if (IsSceneGeometry(argv[i],MagickFalse) == MagickFalse) ThrowMontageInvalidArgumentException(option,argv[i]); + scenes=argv[i]; i++; if (i == (ssize_t) (argc-1)) - ThrowMogridyException(OptionError,"MissingArgument",option); - count=StringToLong(argv[i+1]); - duplicate_images=CloneImages(duplicate_images,argv[i], - exception); + ThrowMontageException(OptionError,"MissingArgument",option); + count=StringToLong(argv[i]); } - if (duplicate_images == (Image *) NULL) - ThrowMontageException(OptionError,"NoSuchImage",option); while (count-- > 0) - AppendImageStack(duplicate_images); + { + clone_images=CloneImages(duplicate_images,scenes,exception); + if (clone_images == (Image *) NULL) + ThrowMontageException(OptionError,"NoSuchImage",option); + AppendImageStack(clone_images); + } break; } if (LocaleCompare("duration",option+1) == 0)