register const char
*p;
- register ssize_t
- i;
-
ssize_t
option_types;
*q++=(*p++);
}
*q='\0';
- for (i=0; option_info[i].mnemonic != (char *) NULL; i++)
- if (LocaleCompare(token,option_info[i].mnemonic) == 0)
- {
- if (*token == '!')
- option_types=option_types &~ option_info[i].flags;
- else
- option_types=option_types | option_info[i].flags;
- break;
- }
- if ((option_info[i].mnemonic == (char *) NULL) &&
- ((strchr(token+1,'-') != (char *) NULL) ||
- (strchr(token+1,'_') != (char *) NULL)))
+ if (option == MagickCommandOptions)
+ {
+ const OptionInfo
+ *command_info;
+
+ command_info=GetCommandOptionInfo(token);
+ if (command_info->mnemonic != (const char *) NULL)
+ {
+ if (*token == '!')
+ option_types=option_types &~ command_info->flags;
+ else
+ option_types=option_types | command_info->flags;
+ }
+ else
+ if ((strchr(token+1,'-') != (char *) NULL) ||
+ (strchr(token+1,'_') != (char *) NULL))
+ {
+ while ((q=strchr(token+1,'-')) != (char *) NULL)
+ (void) CopyMagickString(q,q+1,MaxTextExtent-strlen(q));
+ while ((q=strchr(token+1,'_')) != (char *) NULL)
+ (void) CopyMagickString(q,q+1,MaxTextExtent-strlen(q));
+ command_info=GetCommandOptionInfo(token);
+ if (command_info->mnemonic != (const char *) NULL)
+ {
+ if (*token == '!')
+ option_types=option_types &~ command_info->flags;
+ else
+ option_types=option_types | command_info->flags;
+ }
+ }
+ if (command_info->mnemonic == (const char *) NULL)
+ return(-1);
+ }
+ else
{
- while ((q=strchr(token+1,'-')) != (char *) NULL)
- (void) CopyMagickString(q,q+1,MaxTextExtent-strlen(q));
- while ((q=strchr(token+1,'_')) != (char *) NULL)
- (void) CopyMagickString(q,q+1,MaxTextExtent-strlen(q));
+ register ssize_t
+ i;
+
for (i=0; option_info[i].mnemonic != (char *) NULL; i++)
if (LocaleCompare(token,option_info[i].mnemonic) == 0)
{
option_types=option_types | option_info[i].flags;
break;
}
+ if ((option_info[i].mnemonic == (char *) NULL) &&
+ ((strchr(token+1,'-') != (char *) NULL) ||
+ (strchr(token+1,'_') != (char *) NULL)))
+ {
+ while ((q=strchr(token+1,'-')) != (char *) NULL)
+ (void) CopyMagickString(q,q+1,MaxTextExtent-strlen(q));
+ while ((q=strchr(token+1,'_')) != (char *) NULL)
+ (void) CopyMagickString(q,q+1,MaxTextExtent-strlen(q));
+ for (i=0; option_info[i].mnemonic != (char *) NULL; i++)
+ if (LocaleCompare(token,option_info[i].mnemonic) == 0)
+ {
+ if (*token == '!')
+ option_types=option_types &~ option_info[i].flags;
+ else
+ option_types=option_types | option_info[i].flags;
+ break;
+ }
+ }
+ if (option_info[i].mnemonic == (char *) NULL)
+ return(-1);
}
- if (option_info[i].mnemonic == (char *) NULL)
- return(-1);
if (list == MagickFalse)
break;
}
return(MagickFalse);
if (strlen(option) == 1)
return(IsMagickTrue((*option == '{') || (*option == '}') ||
- (*option == '[') || (*option == ']')));
+ (*option == '[') || (*option == ']') ));
option++;
if (*option == '-')
return(MagickTrue);
%
% The format of the ParseCommandOption method is:
%
-% ssize_t ParseCommandOption(const CommandOption option_table,
+% ssize_t ParseCommandOption(const CommandOption option,
% const MagickBooleanType list,const char *options)
%
% A description of each parameter follows:
%
-% o option_table: Index to the option table to lookup
+% o option: Index to the option table to lookup
%
% o list: A option other than zero permits more than one option separated by
% a comma or pipe.
% o options: One or more options separated by commas.
%
*/
-MagickExport ssize_t ParseCommandOption(const CommandOption option_table,
+MagickExport ssize_t ParseCommandOption(const CommandOption option,
const MagickBooleanType list,const char *options)
{
char
register const char
*p;
- register ssize_t
- i;
-
ssize_t
option_types;
- option_info=GetOptionInfo(option_table);
+ option_info=GetOptionInfo(option);
if (option_info == (const OptionInfo *) NULL)
return(-1);
option_types=0;
*q++=(*p++);
}
*q='\0';
- for (i=0; option_info[i].mnemonic != (char *) NULL; i++)
- if (LocaleCompare(token,option_info[i].mnemonic) == 0)
- {
- if (*token == '!')
- option_types=option_types &~ option_info[i].type;
- else
- option_types=option_types | option_info[i].type;
- break;
- }
- if ((option_info[i].mnemonic == (char *) NULL) &&
- ((strchr(token+1,'-') != (char *) NULL) ||
- (strchr(token+1,'_') != (char *) NULL)))
+ if (option == MagickCommandOptions)
{
- while ((q=strchr(token+1,'-')) != (char *) NULL)
- (void) CopyMagickString(q,q+1,MaxTextExtent-strlen(q));
- while ((q=strchr(token+1,'_')) != (char *) NULL)
- (void) CopyMagickString(q,q+1,MaxTextExtent-strlen(q));
+ const OptionInfo
+ *command_info;
+
+ command_info=GetCommandOptionInfo(token);
+ if (command_info->mnemonic != (const char *) NULL)
+ {
+ if (*token == '!')
+ option_types=option_types &~ command_info->type;
+ else
+ option_types=option_types | command_info->type;
+ }
+ else
+ if ((strchr(token+1,'-') != (char *) NULL) ||
+ (strchr(token+1,'_') != (char *) NULL))
+ {
+ while ((q=strchr(token+1,'-')) != (char *) NULL)
+ (void) CopyMagickString(q,q+1,MaxTextExtent-strlen(q));
+ while ((q=strchr(token+1,'_')) != (char *) NULL)
+ (void) CopyMagickString(q,q+1,MaxTextExtent-strlen(q));
+ command_info=GetCommandOptionInfo(token);
+ if (command_info->mnemonic != (const char *) NULL)
+ {
+ if (*token == '!')
+ option_types=option_types &~ command_info->type;
+ else
+ option_types=option_types | command_info->type;
+ }
+ }
+ if (command_info->mnemonic == (const char *) NULL)
+ return(-1);
+ }
+ else
+ {
+ register ssize_t
+ i;
+
for (i=0; option_info[i].mnemonic != (char *) NULL; i++)
if (LocaleCompare(token,option_info[i].mnemonic) == 0)
{
option_types=option_types | option_info[i].type;
break;
}
+ if ((option_info[i].mnemonic == (char *) NULL) &&
+ ((strchr(token+1,'-') != (char *) NULL) ||
+ (strchr(token+1,'_') != (char *) NULL)))
+ {
+ while ((q=strchr(token+1,'-')) != (char *) NULL)
+ (void) CopyMagickString(q,q+1,MaxTextExtent-strlen(q));
+ while ((q=strchr(token+1,'_')) != (char *) NULL)
+ (void) CopyMagickString(q,q+1,MaxTextExtent-strlen(q));
+ for (i=0; option_info[i].mnemonic != (char *) NULL; i++)
+ if (LocaleCompare(token,option_info[i].mnemonic) == 0)
+ {
+ if (*token == '!')
+ option_types=option_types &~ option_info[i].type;
+ else
+ option_types=option_types | option_info[i].type;
+ break;
+ }
+ }
+ if (option_info[i].mnemonic == (char *) NULL)
+ return(-1);
}
- if (option_info[i].mnemonic == (char *) NULL)
- return(-1);
if (list == MagickFalse)
break;
}