/* convertm.c */ #include /* * CVT - convert Amig*-format loadfiles to GEMDOS. * * THIS PROGRAM IS (C)1985 LANDON M. DYER AND MAY BE * DISTRIBUTED ONLY IF THE FOLLOWING CONDITIONS ARE MET: * 1. YOU DO NOT MAKE A PROFIT ON IT. * 2. IF YOU HAVE THE SOURCE CODE, YOU GIVE THAT AWAY, TOO. * 3. YOU INCLUDE THIS NOTICE IN THE SOURCE AND OBJECT CODE. * *---- * 25-Nov-1985 lmd Hacked it up (from earlier file-dump hacks). * */ char *version = "0.50"; char *date = "25-Nov-1985"; #define STRINGSIZ 256 #define READ 0 #define WRITE 1 int debug = 0; int printing = 0; /* * Handle commandline */ main(argc, argv) int argc; char **argv; { int argno; int fd, ofd; char *s, ofn[STRINGSIZ], ifn[STRINGSIZ]; /* * No instructions: * print info about use and * exit with bad return code. */ if (argc <= 1) { s = "-----------------------------------------------------------------\n"; fprintf(stderr, s); fprintf(stderr, "CVT version %s %s\n", version, date); fprintf(stderr, "THIS PROGRAM IS (C)1985 LANDON M. DYER AND MAY BE DISTRIBUTED\n"); fprintf(stderr, "ONLY IF THE FOLLOWING CONDITIONS ARE MET:\n"); fprintf(stderr, "\t1. YOU DO NOT MAKE A PROFIT ON IT.\n"); fprintf(stderr, "\t2. IF YOU HAVE THE SOURCE CODE, YOU GIVE THAT AWAY, TOO.\n"); fprintf(stderr, "\t3. YOU INCLUDE THIS NOTICE IN THE SOURCE AND OBJECT CODE.\n"); fprintf(stderr, s); fprintf(stderr, "Usage:\n"); fprintf(stderr, "CVT [-d] [-p] inputfile[.LN] [inputfile...]\n"); fprintf(stderr, " ==> file.PRG output files.\n"); exit(1); } for (argno = 1; argno < argc; ++argno) if (*argv[argno] == '-') for (s = &argv[argno][1]; *s; ++s) switch(*s) { case 'p': case 'P': printing = 1; printf("CVT version %s %s\n", version, date); break; case 'd': case 'D': debug = 1; fprintf(stderr, "~ Debugging ON\n"); break; default: fprintf(stderr, "Unknown option: %s\n", argv[argno]); exit(1); } else { strcpy(ifn, argv[argno]); /* file[.LN] (soft ext.) */ fext(ifn, ".ln", 0); strcpy(ofn, argv[argno]); /* file[.PRG] (hard ext.) */ fext(ofn, ".prg", 1); fd = ebinopen(ifn, READ); ofd = ebinopen(ofn, WRITE); if (printing) printf("%s ==> %s\n", ifn, ofn); convert(fd, ofd); /* convert, then close */ close(fd); close(ofd); } } /* * Panic and give up. */ panic(s) char *s; { fprintf(stderr, "Panic: %s\n", s); exit(1); }