home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume4 / match1.2 / PrintLine.c < prev    next >
Encoding:
C/C++ Source or Header  |  1986-11-30  |  968 b   |  41 lines

  1. #include <stdio.h>
  2. #ifdef STRINGS
  3. /* some systems use <strings.h>, others use <string.h> */
  4. #include <strings.h>
  5. #else
  6. #include <string.h>
  7. #endif
  8. #include "Extern.h"
  9. PrintLine(OffSet,LineStart,LineEnd)
  10. int OffSet; /* offset of LineStart from beginning of file */
  11. char *LineStart,
  12.     *LineEnd;
  13. {
  14.     char OffStr[80];
  15.     if (lFlag) {
  16.         if (strlen(FileName) > 76) {
  17.             fprintf(stderr,"match: filename too long\n");
  18.             exit(2);
  19.         } /* if */
  20.         if (strlen(FileName)) {
  21.             sprintf(OffStr,"%s\n",FileName);
  22.             write(1,OffStr,strlen(OffStr));
  23.         } /* if */
  24.         return;
  25.     } /* if */
  26.     if (FileName && !hFlag) {
  27.         if (strlen(FileName) > 76) {
  28.             fprintf(stderr,"match: filename too long\n");
  29.             exit(2);
  30.         } /* if */
  31.         sprintf(OffStr,"%s: ",FileName);
  32.         write(1,OffStr,strlen(OffStr));
  33.     } /* if */
  34.     if (nFlag) {
  35.         sprintf(OffStr,"%d: ",OffSet);
  36.         write(1,OffStr,strlen(OffStr));
  37.     } /* if */
  38.     write(1,LineStart,LineEnd-LineStart+1);
  39.     if (*LineEnd != '\n') write (1,"\n",1);
  40. } /* PrintLine */
  41.