aboutsummaryrefslogtreecommitdiff
path: root/src/opts.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/opts.c')
-rw-r--r--src/opts.c78
1 files changed, 0 insertions, 78 deletions
diff --git a/src/opts.c b/src/opts.c
deleted file mode 100644
index 416163c..0000000
--- a/src/opts.c
+++ /dev/null
@@ -1,78 +0,0 @@
-#include "unalf.h"
-
-#define OPTIONS "aefklLopqtvVd:x:"
-
-/* uncomment to test exclude/include glob lists */
-// #define DEBUG_GLOBS
-
-static void add_exclude(const char *glob) {
- if(exclude_count == MAX_EXCLUDES)
- return;
- exclude_globs[exclude_count++] = glob;
-}
-
-#ifdef DEBUG_GLOBS
-static void show_globs(void) {
- int i;
-
- printf("Include globs:\n");
- while(*include_globs)
- printf(" + %s\n", *include_globs++);
- printf("Exclude globs:\n");
- for(i = 0; i < exclude_count; i++)
- printf(" - %s\n", exclude_globs[i]);
- exit(0);
-}
-#endif
-
-void parse_opts(int argc, char * const *argv) {
- int opt;
- char **ig;
-
- /* don't let getopt() print error message for us. */
- opterr = 0;
-
- while((opt = getopt(argc, argv, OPTIONS)) != -1) {
- switch(opt) {
- case 'a': opts.txtconv++; break;
- case 'e': opts.listonly = opts.testonly = 0; break;
- case 'k': opts.keepdot++; break;
- case 'f': opts.fixjunk++; opts.testonly = 1; opts.listonly = 0; opts.quiet = 1; break;
- case 'l': opts.listonly++; opts.testonly = 0; break;
- case 'L': opts.lowercase++; break;
- case 'o': opts.overwrite++; break;
- case 'p': opts.extract_to_stdout++; opts.quiet++; break;
- case 'q': opts.quiet++; break;
- case 't': opts.testonly++; opts.listonly = 0; break;
- case 'v': opts.listonly = 1; opts.testonly = 0; opts.verbose_list++; break;
- case 'V': puts(VERSION); exit(0); break;
- case 'd': opts.outdir = optarg; break;
- case 'x': add_exclude(optarg); break;
- default:
- fprintf(stderr, "%s: fatal: invalid option '-%c' (try -h or --help)\n", self, optopt);
- exit(1);
- }
- }
-
- if(optind >= argc) {
- fprintf(stderr, "%s: fatal: missing alf file argument (try -h or --help)\n", self);
- exit(1);
- }
-
- in_filename = argv[optind];
- if(optind < argc)
- include_globs = &argv[optind + 1]; /* might be null, that's OK */
-
- ig = (char **)include_globs;
- while(*ig) {
- if(globmatch("*.alf", *ig)) {
- fprintf(stderr, "%s: ALF files don't normally contain other ALF files, are you trying to extract/list multiple ALF files at once?\n", self);
- break;
- }
- ig++;
- }
-
-#ifdef DEBUG_GLOBS
- show_globs();
-#endif
-}