Fix -f descriptor.
[unix-history] / bin / stty / print.c
index cb48828..34de5de 100644 (file)
@@ -44,7 +44,7 @@ static char sccsid[] = "@(#)print.c   5.4 (Berkeley) 6/10/91";
 
 static void  binit __P((char *));
 static void  bput __P((char *));
 
 static void  binit __P((char *));
 static void  bput __P((char *));
-static char *ccval __P((int));
+static char *ccval __P((struct cchar *, int));
 
 void
 print(tp, wp, ldisc, fmt)
 
 void
 print(tp, wp, ldisc, fmt)
@@ -74,6 +74,9 @@ print(tp, wp, ldisc, fmt)
                case NTTYDISC:
                        cnt += printf("new tty disc; ");
                        break;
                case NTTYDISC:
                        cnt += printf("new tty disc; ");
                        break;
+               case PPPDISC:
+                       cnt += printf("ppp disc; ");
+                       break;
                default:        
                        cnt += printf("#%d disc; ", ldisc);
                        break;
                default:        
                        cnt += printf("#%d disc; ", ldisc);
                        break;
@@ -187,7 +190,7 @@ print(tp, wp, ldisc, fmt)
                binit("cchars");
                for (p = cchars1; p->name; ++p) {
                        (void)snprintf(buf1, sizeof(buf1), "%s = %s;",
                binit("cchars");
                for (p = cchars1; p->name; ++p) {
                        (void)snprintf(buf1, sizeof(buf1), "%s = %s;",
-                           p->name, ccval(cc[p->sub]));
+                           p->name, ccval(p, cc[p->sub]));
                        bput(buf1);
                }
                binit(NULL);
                        bput(buf1);
                }
                binit(NULL);
@@ -198,7 +201,7 @@ print(tp, wp, ldisc, fmt)
                                continue;
 #define        WD      "%-8s"
                        (void)sprintf(buf1 + cnt * 8, WD, p->name);
                                continue;
 #define        WD      "%-8s"
                        (void)sprintf(buf1 + cnt * 8, WD, p->name);
-                       (void)sprintf(buf2 + cnt * 8, WD, ccval(cc[p->sub]));
+                       (void)sprintf(buf2 + cnt * 8, WD, ccval(p, cc[p->sub]));
                        if (++cnt == LINELENGTH / 8) {
                                cnt = 0;
                                (void)printf("%s\n", buf1);
                        if (++cnt == LINELENGTH / 8) {
                                cnt = 0;
                                (void)printf("%s\n", buf1);
@@ -243,7 +246,8 @@ bput(s)
 }
 
 static char *
 }
 
 static char *
-ccval(c)
+ccval(p, c)
+       struct cchar *p;
        int c;
 {
        static char buf[5];
        int c;
 {
        static char buf[5];
@@ -252,6 +256,10 @@ ccval(c)
        if (c == _POSIX_VDISABLE)
                return("<undef>");
 
        if (c == _POSIX_VDISABLE)
                return("<undef>");
 
+       if (p->sub == VMIN || p->sub == VTIME) {
+               (void)snprintf(buf, sizeof(buf), "%d", c);
+               return (buf);
+       }
        bp = buf;
        if (c & 0200) {
                *bp++ = 'M';
        bp = buf;
        if (c & 0200) {
                *bp++ = 'M';