home *** CD-ROM | disk | FTP | other *** search
- #include "globals.h"
- #include "../util/patchlevel.h"
- #include "../fileio/wrfile.h"
- #include "../fileio/wrfileopt.h"
- #include "../util/util.h"
-
- #define LOCALOPT "ilqVH"
-
- extern char *strcat();
- void macbinary();
-
- static void usage();
-
- static char options[128];
-
- int main(argc, argv)
- int argc;
- char *argv[];
- {
- int c;
- extern int optind;
- extern char *optarg;
- int errflg;
-
- set_wrfileopt(0);
- set_s_wrfileopt(1);
- (void)strcat(options, get_wrfileopt());
- (void)strcat(options, LOCALOPT);
- errflg = 0;
-
- while((c = getopt(argc, argv, options)) != EOF) {
- if(!wrfileopt((char)c)) {
- switch(c) {
- case 'l':
- list++;
- break;
- case 'q':
- query++;
- break;
- case 'i':
- info_only++;
- break;
- case '?':
- errflg++;
- break;
- case 'H':
- give_wrfileopt();
- (void)fprintf(stderr, "Macsave specific options:\n");
- (void)fprintf(stderr,
- "-i:\tgive information only, do not save\n");
- (void)fprintf(stderr, "-l:\tgive listing\n");
- (void)fprintf(stderr,
- "-q:\tquery for every file/folder before saving\n");
- (void)fprintf(stderr,
- "-V:\tgive information about this version\n");
- (void)fprintf(stderr, "-H:\tthis message\n");
- (void)fprintf(stderr, "Default is silent saving\n");
- exit(0);
- case 'V':
- (void)fprintf(stderr, "Version %s, ", VERSION);
- (void)fprintf(stderr, "patchlevel %d", PATCHLEVEL);
- (void)fprintf(stderr, "%s.\n", get_mina());
- exit(0);
- }
- }
- }
- if(errflg || optind != argc) {
- usage();
- exit(1);
- }
-
- infp = stdin;
-
- if(info_only || query) {
- list++;
- }
- c = getc(infp);
- (void)ungetc(c, infp);
- switch(c) {
- case 0:
- macbinary();
- break;
- default:
- (void)fprintf(stderr, "Input is not MacBinary\n");
- exit(1);
- }
- exit(0);
- /* NOTREACHED */
- }
-
- static void usage()
- {
- (void)fprintf(stderr, "Usage: macsave [-%s]\n", options);
- (void)fprintf(stderr, "Use \"macsave -H\" for help.\n");
- }
-
-