/* Usage: STRIP This program strips the high order bit from each byte in and creates from the stripped data. Modifications: 15/Jun/1982 Originally from BDS "C" UG but took forever to run due to printing a running total of characters processed. Modified to print only a total character count at the end. Bill Bolton, Softwate Tools, Australia. */ #include bdscio.h #define INFILE 1 #define OUTFILE 2 main(argc, argv) int argc; char *argv[]; { int i; int input; char wrkbuf[BUFSIZ]; char wrkbuf2[BUFSIZ]; i=0; if (argc!=3) { prtuse(); return; } if (fopen(argv[INFILE],wrkbuf)==ERROR){ printf("\nCan't open %s",argv[INFILE]); prtuse(); return; } if (fcreat(argv[OUTFILE],wrkbuf2)==ERROR){ printf("\nCan't open %s",argv[OUTFILE]); prtuse(); return; } while(((input=getc(wrkbuf))>0)&&(putc((input & 0x7f), wrkbuf2)!=ERROR)){ ++i; } printf("\n%d characters processed.\n",i); if (putc(CPMEOF,wrkbuf2)<0){ printf("\nCan't write end of file marker in %s",argv[INFILE]); } if((fclose(wrkbuf)<0)) { printf("\nCan't close %s",argv[INFILE]); } if(((fflush(wrkbuf2)<0)||(fclose(wrkbuf2)<0))){ printf("\nCan't close %s",argv[OUTFILE]); } } prtuse() { printf("\nUSAGE: strip "); } .