" -V\t\t\t\tPrint the version number and exit\n"
" -c fmt[,attrlist]\t\tConvert into target format\n"
" -h\t\t\t\tHelp (this text)\n"
+ " -lc\t\t\t\tList all possible conversions\n"
" -r file[,attrlist]\t\tRead an input file\n"
" -v\t\t\t\tIncrease verbosity\n"
" -w file[,attrlist]\t\tWrite the output to a file\n"
"Long options:\n"
" --convert-to fmt[,attrlist]\tConvert into target format\n"
" --help\t\t\tHelp (this text)\n"
+ " --list-conversions\t\tList all possible conversions\n"
" --pop\t\t\t\tRestore the original loaded image\n"
" --read file[,attrlist]\tRead an input file\n"
" --slice x,y,w,h\t\tGenerate a slice from the loaded bitmap\n"
+static void OptListConversions (const char* Opt attribute ((unused)),
+ const char* Arg attribute ((unused)))
+/* Print a list of all conversions */
+{
+ ListConversionTargets (stdout);
+ exit (EXIT_SUCCESS);
+}
+
+
+
static void OptPop (const char* Opt attribute ((unused)),
const char* Arg attribute ((unused)))
/* Restore the original image */
static const LongOpt OptTab[] = {
{ "--convert-to", 1, OptConvertTo },
{ "--help", 0, OptHelp },
+ { "--list-conversions", 0, OptListConversions },
{ "--pop", 0, OptPop },
{ "--read", 1, OptRead },
{ "--slice", 1, OptSlice },
const char* Arg = ArgVec[I];
/* Check for an option */
- if (Arg [0] == '-') {
- switch (Arg [1]) {
+ if (Arg[0] == '-') {
+ switch (Arg[1]) {
- case '-':
- LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
- break;
+ case '-':
+ LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
+ break;
case 'V':
- OptVersion (Arg, 0);
- break;
+ OptVersion (Arg, 0);
+ break;
case 'c':
OptConvertTo (Arg, GetArg (&I, 2));
break;
- case 'h':
- OptHelp (Arg, 0);
- break;
+ case 'h':
+ OptHelp (Arg, 0);
+ break;
+
+ case 'l':
+ if (Arg[2] == 'c') {
+ OptListConversions (Arg, 0);
+ } else {
+ UnknownOption (Arg);
+ }
+ break;
case 'r':
OptRead (Arg, GetArg (&I, 2));