Merge pull request #10 from ccawley2011/watcom
[debian-nspark.git] / sqshmain.c
blob78c46d636d9b3bd261a9cb05518641e3af3c00bc
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 #include "spark.h"
5 #include "arcfs.h"
6 #include "unarc.h"
7 #include "error.h"
9 char *ourname;
10 unsigned char apptype = 0;
11 unsigned char force = 0;
12 unsigned char inffiles = 0;
13 unsigned char listing = 0;
14 unsigned char testing = 0;
15 unsigned char quiet = 1;
16 unsigned char retry = 0;
17 unsigned char singlecase = 0;
18 unsigned char stamp = 1;
19 unsigned char to_stdout = 0;
20 unsigned char verbose = 0;
21 char *archive = NULL;
22 char **files = NULL;
23 char *logfile = NULL;
25 void
26 usage()
28 fprintf(stderr, "sqsh: un-squashes RISC OS squashed files\n");
29 fprintf(stderr, "Usage: sqsh [options] <filename>\n");
30 fprintf(stderr, " where options are:\n");
31 exit(1);
34 int
35 main(int argc, char *argv[])
37 int r;
38 int i;
40 if (argc < 2)
42 usage();
45 ourname = argv[0];
46 for (i = 1; i < argc; i++)
48 if (argv[i][0] == '-')
50 switch (argv[i][1])
52 case 'c':
53 to_stdout = 1;
54 break;
55 case 'f':
56 force = 1;
57 break;
58 case 's':
59 stamp = 0;
60 break;
63 else
65 break;
69 if (i == argc)
71 usage();
73 archive = argv[i];
75 r = do_unsquash();
76 if (r != 0 || writesize > 0)
78 error("Error unsquashing file");
81 return r;