/* 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);
}