/* * PRINT1525.C * ÍODIFIED VERSION OF PRINT.C WHICH IS SUPPLIED ON THE à ÐÏ×ÅÒ/ÐÏ×ÅÒ Ã DISK. ÔHIS VERSION SENDS à CHARACTERS TO 1525 OR SIMILAR PRINTER. PRINT1525 [FILENAME] [FILENAME] [>>] ÍODIFIED BY ÔONY ÂERTRAM 02 ÊAN '87 */ #INCLUDE #DEFINE ÎÁÍÅÓÉÚÅ 20 #DEFINE ÅÒÒ 1 #DEFINE ÍÁØÌÉÎÅ 81 #DEFINE ÍÁÒÇÉÎ1 3 #DEFINE ÍÁÒÇÉÎ2 3 #DEFINE ÐÁÇÅÌÅÎ 66 #DEFINE ÂÏÔÔÏÍ 63 MAIN (ARGC, ARGV) UNSIGNED ARGC; CHAR **ARGV; Û ÆÉÌÅ FIN; IF (ARGC == 1) FPRINT ("STDIN", STDIN); ELSE WHILE (--ARGC) Û IF ((FIN = FOPEN(*++ARGV, "R")) == ÎÕÌÌ ßß FERROR()) Û PRINTF ("CANT'T OPEN %S\N", *ARGV); EXIT(); Ý FPRINT (*ARGV, FIN); FCLOSE (FIN); Ý Ý FPRINT (NAME, FIN) CHAR *NAME; ÆÉÌÅ FIN; Û STATIC CHAR CURLYL[]=Û08,193,193,182,136,136,128,15,'\0'Ý; STATIC CHAR CURLYR[]=Û08,136,136,182,193,193,128,15,'\0'Ý; STATIC CHAR BSLASH[]=Û08,131,132,136,144,224,128,15,'\0'Ý; STATIC CHAR VERBAR[]=Û08,128,128,247,128,128,128,15,'\0'Ý; STATIC CHAR TILDE[]=Û08,130,129,130,130,129,128,15,'\0'Ý; STATIC CHAR QUOTE[]=Û08,128,131,128,131,128,128,15,'\0'Ý; CHAR CH, LINE[ÍÁØÌÉÎÅ]; UNSIGNED PAGENO, LINENO, COUNT; PAGENO = 0; LINENO = 0; WHILE (FGETS (LINE, ÍÁØÌÉÎÅ, FIN) != ÎÕÌÌ) Û IF (LINENO == 0) Û SKIP (ÍÁÒÇÉÎ1); PAGENO++; HEAD (NAME, PAGENO); SKIP (ÍÁÒÇÉÎ2); LINENO = ÍÁÒÇÉÎ1 + ÍÁÒÇÉÎ2 + 1; Ý FOR(COUNT=0; LINE[COUNT]!='\0'; COUNT++) Û CH=LINE[COUNT]; IF(CH=='Ý') FPUTS(CURLYL,STDOUT); ELSE IF(CH=='Û') FPUTS(CURLYR,STDOUT); ELSE IF(CH=='\\') FPUTS(BSLASH,STDOUT); ELSE IF(CH=='ß') FPUTS(VERBAR,STDOUT); ELSE IF(CH=='¯') FPUTS(TILDE,STDOUT); ELSE IF(CH=='"') FPUTS(QUOTE,STDOUT); ELSE PUTC(CH,STDOUT); Ý LINENO++; IF (LINENO >= ÂÏÔÔÏÍ) Û SKIP (ÐÁÇÅÌÅÎ - LINENO); LINENO = 0; Ý Ý IF (LINENO > 0) SKIP (ÐÁÇÅÌÅÎ - LINENO); Ý SKIP (N) Û WHILE (N--) PUTCHAR ('\N'); Ý HEAD (NAME, PAGENO) CHAR *NAME; Û PRINTF ("%-30SÐAGE %D\N", NAME, PAGENO); Ý