home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
OSK
/
APPS
/
macutils.lzh
/
MACUTILS
/
MIXED
/
macsave.c
< prev
next >
Wrap
C/C++ Source or Header
|
1996-02-02
|
2KB
|
100 lines
#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());
#ifdef OSK
(void)fprintf(stderr,"OSK Port by Dean Leiber\n");
#endif
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");
}