/********************************  AME: ROGRAM ER ATE: 28-CT-87 Y: ONALD OIGTS ORTED TO -64 AND FIXED BY:  . 6/88  TO COMPILE WITH :  . *********************************  ERSION 1.01  *********************************  UNCTION:   PRINTS A FORMATTED VERSION OF A FILE.  T ADDS NUMBERS TO LINES, PUTS IN A TOP  MARGIN WITH HEADER AND A BOTTOM MARGIN.  *********************************/  #INCLUDE "STDIO.H"  MAIN(ARGC, ARGV) INT ARGC; CHAR *ARGV[];   FILE FP, FPF;  CHAR ANS,LINE[120];  REGISTER INT INDEX = 0;  INT PAGE = 0;  INT COUNT = 0;  /* HECK FOR THE CORRECT NUMBER OF PARAMETERS */  IF (ARGC < 2)   PRINTF("RROR IN ARAMETER IST\N");  EXIT(0);    /* PEN THE FILE */  IF ((FP = FOPEN(ARGV[1], "R")) == )   PRINTF("AN NOT OPEN %S.",ARGV[1]);  SCANF("%S");  EXIT(-1);  #IFDEF  PRINTF("ILE IS OPEN -- DECSRIPTOR IS %D",FP); #ENDIF  IF (ARGC > 2) /* OPEN THE PRINTER */  FPF = OPEN(4,7,"");   /* NPUT LINE NUMBERS */  WHILE (FGETS(LINE, 120, FP) == )   /* RINT HEADER IF NECESSARY */  IF (COUNT++ == 0)  COUNT = PRINT_HEADER(++PAGE, ARGV[1],FPF);   /* RINT THE LINE WITH NUMBER */  PRINTF("%04D %S", INDEX, LINE);  IF (FPF != )  FPRINTF(FPF,"%04D %S", INDEX, LINE);   INDEX++;  /* RINT FOOTER IF NECESSARY */  IF (COUNT == 60)  COUNT = PRINT_FOOTER(FPF);  /* ND OF WHILE */  /* LOSE THE FILES */  CLOSE(FPF);  FCLOSE(FP); #IFDEF PRINTF("LL DONE WITH WHILE -- CLOSED FILE"); SCANF("%S"); #ENDIF   /* ND OF MAIN PROGRAM */  /*********** SUBROUTINES *********************  /* EADER ROUTINE */ INT PRINT_HEADER(P, S, PFD) INT P; CHAR *S; FILE PFD;   PRINT_CR(2,PFD);  PRINTF(" AGE%3D\N", P);  PRINTF("ILE NAME: %S\N", S);  IF (PFD != )   FPRINTF(PFD," AGE%3D\N", P);  FPRINTF(PFD,"ILE NAME: %S\N", S);   PRINT_CR(3,PFD);  RETURN(7);  /* ND OF PRINT_HEADER() */  /* OOTER ROUTINE */ INT PRINT_FOOTER(FDP) FILE FDP;   PRINT_CR(5,FDP);  RETURN(0);  /* ND OF PRINT_FOOTER */  /* RINT ND-OF-INES */ PRINT_CR(N,DPF) INT N; FILE DPF;   UNSIGNED CHAR L_FEED = 10; /* LINE FEED FOR PRINTER */  REGISTER INT I;   FOR (I = 0; I < N; I++)   PRINTF("\N");  IF (DPF != )  FPRINTF(DPF,"%C",L_FEED);   /* ND OF PRINT_CR() */