#include <stdio.h>\r
#include <fcntl.h>\r
#include "../lib/rfxswf.h"\r
+#include "../lib/args.h"\r
+\r
+char * filename = 0;\r
+\r
+struct options_t options[] =\r
+{\r
+ {"v","verbose"},\r
+ {"V","version"},\r
+ {0,0}\r
+};\r
+\r
+int args_callback_option(char*name,char*val)\r
+{\r
+ if(!strcmp(name, "V")) {\r
+ printf("swfstrings - part of %s %s\n", PACKAGE, VERSION);\r
+ exit(0);\r
+ }\r
+}\r
+int args_callback_longoption(char*name,char*val)\r
+{\r
+ return args_long2shortoption(options, name, val);\r
+}\r
+void args_callback_usage(char*name)\r
+{ \r
+ printf("\nreflex SWF Text Scan Utility\n(w) 2000 by Rainer Boehme <rb@reflex-studio.de>\n\nUsage: %s filename.swf\n", name);\r
+ exit(0);\r
+}\r
+int args_callback_command(char*name,char*val)\r
+{\r
+ if(filename) {\r
+ fprintf(stderr, "Only one file allowed. You supplied at least two. (%s and %s)\n",\r
+ filename, name);\r
+ }\r
+ filename = name;\r
+ return 0;\r
+}\r
\r
SWF swf;\r
\r
int main (int argc,char ** argv)\r
{ int f;\r
\r
- if (argc>1)\r
- { f = open(argv[1],O_RDONLY);\r
- if (f>=0)\r
- { if FAILED(ReadSWF(f,&swf))\r
- { fprintf(stderr,"%s is not a valid SWF file or contains errors.\n",argv[1]);\r
- close(f);\r
- }\r
- else\r
- { close(f);\r
- FontEnumerate(&swf,&fontcallback);\r
- FreeTags(&swf);\r
- }\r
- } else fprintf(stderr,"File not found: %s\n",argv[1]);\r
+ processargs(argc, argv);\r
+ if(!filename)\r
+ exit(0);\r
+\r
+ f = open(filename,O_RDONLY);\r
+ if (f>=0)\r
+ { if FAILED(ReadSWF(f,&swf))\r
+ { fprintf(stderr,"%s is not a valid SWF file or contains errors.\n",filename);\r
+ close(f);\r
+ }\r
+ else\r
+ { close(f);\r
+ FontEnumerate(&swf,&fontcallback);\r
+ FreeTags(&swf);\r
+ }\r
+ } else {\r
+ fprintf(stderr,"File not found: %s\n",argv[1]);\r
}\r
- else fprintf(stderr,"\nreflex SWF Text Scan Utility\n(w) 2000 by Rainer Boehme <rb@reflex-studio.de>\n\nUsage: %s filename.swf\n", argv[0]);\r
\r
return 0;\r
}\r