8 static const char *progname;
9 #define errmsg(fmt, ...) (\
10 fprintf(stderr, "%s: " fmt ": %m.\n", progname, __VA_ARGS__)\
19 int main(int argc, char **argv)
25 struct option longopts[] = {
26 { "list", 0, NULL, 'l' },
27 { "extract", 0, NULL, 'x' },
29 { "file", 1, NULL, 'f' },
35 while ((opt = getopt_long(argc, argv, "lxf:", longopts, NULL)) != -1) {
44 f = fopen(optarg, "rb");
46 errmsg("failed to open file", 0, 4);
55 if (mode == MODE_NONE) {
56 fprintf(stderr, "%s: you must specify a mode.\n", progname);