fixed err prnt bug & added display of non-prnt chars. DLW
authorDavid Wasley <dlw@ucbvax.Berkeley.EDU>
Sat, 9 May 1981 00:56:01 +0000 (16:56 -0800)
committerDavid Wasley <dlw@ucbvax.Berkeley.EDU>
Sat, 9 May 1981 00:56:01 +0000 (16:56 -0800)
SCCS-vsn: usr.bin/f77/libI77/err.c 1.6

usr/src/usr.bin/f77/libI77/err.c

index f89c482..81c317d 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
-char id_err[] = "@(#)err.c     1.5";
+char id_err[] = "@(#)err.c     1.6";
  *
  * file i/o error and initialization routines
  */
  *
  * file i/o error and initialization routines
  */
@@ -105,10 +105,10 @@ prnt_ext()
        if(loc)
        {       if(loc==1L) rewind(curunit->ufd);
                else for(;i<12 && last_char(curunit->ufd)!='\n';i++);
        if(loc)
        {       if(loc==1L) rewind(curunit->ufd);
                else for(;i<12 && last_char(curunit->ufd)!='\n';i++);
-               while(i--) fputc(fgetc(curunit->ufd),stderr);
+               while(i--) ffputc(fgetc(curunit->ufd),stderr);
        }
        fputc('|',stderr);
        }
        fputc('|',stderr);
-       for(i=0;i<5 && (ch=fgetc(curunit->ufd)!=EOF);i++) fputc(ch,stderr);
+       for(i=0;i<5 && (ch=fgetc(curunit->ufd))!=EOF;i++) ffputc(ch,stderr);
        fputc('\n',stderr);
 }
 
        fputc('\n',stderr);
 }
 
@@ -116,9 +116,9 @@ prnt_int()
 {      char *ep;
        fprintf (stderr,"part of last string: ");
        ep = icptr - (recpos<12?recpos:12);
 {      char *ep;
        fprintf (stderr,"part of last string: ");
        ep = icptr - (recpos<12?recpos:12);
-       while (ep<icptr) fputc(*ep++,stderr);
+       while (ep<icptr) ffputc(*ep++,stderr);
        fputc('|',stderr);
        fputc('|',stderr);
-       while (ep<(icptr+5) && ep<icend) fputc(*ep++,stderr);
+       while (ep<(icptr+5) && ep<icend) ffputc(*ep++,stderr);
        fputc('\n',stderr);
 }
 
        fputc('\n',stderr);
 }
 
@@ -136,13 +136,26 @@ prnt_fmt(n) int n;
                fmtptr = fmtbuf - 1;
        }
        while(i && *ep)
                fmtptr = fmtbuf - 1;
        }
        while(i && *ep)
-       {       fputc((*ep==GLITCH)?'"':*ep,stderr);
+       {       ffputc((*ep==GLITCH)?'"':*ep,stderr);
                if(ep==fmtptr) fputc('|',stderr);
                ep++; i--;
        }
        fputc('\n',stderr);
 }
 
                if(ep==fmtptr) fputc('|',stderr);
                ep++; i--;
        }
        fputc('\n',stderr);
 }
 
+ffputc(c, f)
+int    c;
+FILE   *f;
+{
+       c &= 0177;
+       if (c < ' ' || c == 0177)
+       {
+               fputc('^', f);
+               c ^= 0100;
+       }
+       fputc(c, f);
+}
+
 /*initialization routine*/
 f_init()
 {      extern short init66_;
 /*initialization routine*/
 f_init()
 {      extern short init66_;