/* UNIX2CPM.COM - A program to convert a UNIX style text file,
   using a LF (0AH) for a line delimiter, to one using the CP/M
   convention sequence CR/LF (0DH/0AH).  */  /* ch: 07/14/95 */

#include "stdio.h"
main(argc, argv)        /* requires command line */
int argc;
char *argv[];
{
        FILE *fopen(), *fi, *fo;
        int c;          /* character read and written */
        int d;          /* temporary stuffed character */

        if (argc != 3) {        /* if command line is incorrect */
                printf("\tCopies infile to outfile and converts\n");
                printf("\tLF newline characters (UNIX) to a CR/LF\n");
                printf("\tsequence acceptable to CP/M\n\n");
                printf("\tSyntax is UNIX2CPM <infile> <outfile>\n");
                exit(1);
        }
                /* try to open files */
        if ((fi = fopen(argv[1], "r")) == NULL) {
                printf("\tCan't open infile...\n");
                exit(1);
        }
        if ((fo = fopen(argv[2], "w")) == NULL) {
                printf("\tCan't open outfile...\n");
                exit(1);
        }
                /* char by char copy */
        while ((c = getc(fi)) != EOF) {
                c = c & 0x7F;   /* strip 8-bit */
                if (c == 0x0A) {
                    c = 0x0D;
                    putc(c, fo);
                    c = 0x0A;
                    putc(c, fo);
                }
                else putc(c, fo);
        }
                /* close files and exit */
        fclose(fi);
        fclose(fo);
        exit(0);
}