SCCS-vsn: bin/stty/stty.c 5.9
#endif not lint
#ifndef lint
#endif not lint
#ifndef lint
-static char sccsid[] = "@(#)stty.c 5.8 (Berkeley) %G%";
+static char sccsid[] = "@(#)stty.c 5.9 (Berkeley) %G%";
#include <ctype.h>
#include <stdio.h>
#include <ctype.h>
#include <stdio.h>
-#ifndef STATIC
-#define STATIC /* ??? */
-#endif
-
-#define eq(s1, s2) (strcmp(s1, s2) == 0)
+#define eq(s1, s2) (strcmp((s1), (s2)) == 0)
char *name;
long set;
long unset;
};
char *name;
long set;
long unset;
};
-STATIC struct modes imodes[] = {
+struct modes imodes[] = {
"ignbrk", IGNBRK, 0,
"-ignbrk", 0, IGNBRK,
"brkint", BRKINT, 0,
"ignbrk", IGNBRK, 0,
"-ignbrk", 0, IGNBRK,
"brkint", BRKINT, 0,
-STATIC struct modes omodes[] = {
+struct modes omodes[] = {
"opost", OPOST, 0,
"-opost", 0, OPOST,
"-litout", OPOST, 0,
"opost", OPOST, 0,
"-opost", 0, OPOST,
"-litout", OPOST, 0,
"-onlcr", 0, ONLCR,
"tabs", 0, OXTABS, /* "preserve" tabs */
"-tabs", OXTABS, 0,
"-onlcr", 0, ONLCR,
"tabs", 0, OXTABS, /* "preserve" tabs */
"-tabs", OXTABS, 0,
- "xtabs", OXTABS, 0, /* ??? */
- "-xtabs", 0, OXTABS, /* ??? */
"oxtabs", OXTABS, 0,
"-oxtabs", 0, OXTABS,
0
};
"oxtabs", OXTABS, 0,
"-oxtabs", 0, OXTABS,
0
};
-STATIC struct modes cmodes[] = {
+struct modes cmodes[] = {
"cs5", CS5, CSIZE,
"cs6", CS6, CSIZE,
"cs7", CS7, CSIZE,
"cs5", CS5, CSIZE,
"cs6", CS6, CSIZE,
"cs7", CS7, CSIZE,
-STATIC struct modes lmodes[] = {
+struct modes lmodes[] = {
"echo", ECHO, 0,
"-echo", 0, ECHO,
"echoe", ECHOE, 0,
"echo", ECHO, 0,
"-echo", 0, ECHO,
"echoe", ECHOE, 0,
* fit within 80 cols). The rest are optional aliases.
* All names are recognized on the command line.
*/
* fit within 80 cols). The rest are optional aliases.
* All names are recognized on the command line.
*/
-#define MAXNAMES 5 /* ??? */
-STATIC struct {
- char *names[MAXNAMES+1]; /* ??? */
+#define MAXNAMES 3
+struct {
+ char *names[MAXNAMES];
int sub;
u_char def;
} cchars[] = {
int sub;
u_char def;
} cchars[] = {
-STATIC struct winsize win;
-STATIC int ldisc;
-STATIC int dodisc;
-STATIC int debug = 0;
-STATIC int trace, dotrace;
+struct winsize win;
+int ldisc;
+int dodisc;
+int debug = 0;
+int trace, dotrace;
#define OUT stdout /* informational output stream */
#define ERR stderr /* error message stream */
#define CTL 0 /* default control descriptor */
#define OUT stdout /* informational output stream */
#define ERR stderr /* error message stream */
#define CTL 0 /* default control descriptor */
-extern char *sys_errlist[];
#define NORMAL 0 /* only print modes differing from defaults */
#define ALL 1 /* print all modes - POSIX standard format */
#define ALL_BSD 2 /* print all modes - using BSD shorthand for cc's */
#define GFMT 3 /* print modes in a form that can be re-input to stty */
#define NORMAL 0 /* only print modes differing from defaults */
#define ALL 1 /* print all modes - POSIX standard format */
#define ALL_BSD 2 /* print all modes - using BSD shorthand for cc's */
#define GFMT 3 /* print modes in a form that can be re-input to stty */
main(argc, argv)
char *argv[];
{
main(argc, argv)
char *argv[];
{
syserrexit(*argv);
argc--, argv++;
}
syserrexit(*argv);
argc--, argv++;
}
-#ifdef notyet
- while ((ch = getopt(argc, argv, "f:ga")) != EOF)
- switch((char)ch) {
- case 'f':
- if ((ctl = open(*optarg, O_RDONLY | O_NONBLOCK)) < 0)
- syserrexit(*argv);
- break;
- case 'a':
- fmt = ALL;
- break;
- case 'g':
- fmt = GFMT;
- break;
- case '?':
- default:
- fprintf(stderr, "usage: %s", *argv);
- exit(1);
- }
- argc -= optind;
- argv += optind;
-#endif
-
if (ioctl(ctl, TIOCGETD, &ldisc) < 0)
syserrexit("TIOCGETD");
if (tcgetattr(ctl, &t) < 0)
syserrexit("tcgetattr");
if (ioctl(ctl, TIOCGWINSZ, &win) < 0)
if (ioctl(ctl, TIOCGETD, &ldisc) < 0)
syserrexit("TIOCGETD");
if (tcgetattr(ctl, &t) < 0)
syserrexit("tcgetattr");
if (ioctl(ctl, TIOCGWINSZ, &win) < 0)
- warning("TIOCGWINSZ: %s", sys_errlist[errno]);
-
-#ifdef COMPAT_43
+ warning("TIOCGWINSZ: %s", strerror(errno));
checkredirect(); /* conversion aid */
checkredirect(); /* conversion aid */
if (argc == 0 || fmt) {
prmode(&t, ldisc, fmt);
if (argc == 0 || fmt) {
prmode(&t, ldisc, fmt);
#define LKEEP (ECHOKE|ECHOE|ECHOK|ECHOPRT|ECHOCTL|ALTWERASE|TOSTOP|NOFLSH)
t.c_lflag = TTYDEF_LFLAG | (t.c_lflag & LKEEP);
t.c_oflag = TTYDEF_OFLAG;
#define LKEEP (ECHOKE|ECHOE|ECHOK|ECHOPRT|ECHOCTL|ALTWERASE|TOSTOP|NOFLSH)
t.c_lflag = TTYDEF_LFLAG | (t.c_lflag & LKEEP);
t.c_oflag = TTYDEF_OFLAG;
- t.c_oflag |= (OPOST|ONLCR); /* XXX */
goto next;
}
if (eq("rows", *argv)) {
goto next;
}
if (eq("rows", *argv)) {
goto next;
}
if (eq("ospeed", *argv)) {
goto next;
}
if (eq("ospeed", *argv)) {
if (*(argv+1) == 0)
errexit("missing ospeed");
cfsetospeed(&t, atoi(*++argv));
if (*(argv+1) == 0)
errexit("missing ospeed");
cfsetospeed(&t, atoi(*++argv));
ld = "tablet";
break;
case SLIPDISC:
ld = "tablet";
break;
case SLIPDISC:
break;
default:
sprintf(unknown, "#%d", ldisc);
break;
default:
sprintf(unknown, "#%d", ldisc);
/*
* gross, but since we're changing the control descriptor
* from 1 to 0, most users will be probably be doing
/*
* gross, but since we're changing the control descriptor
* from 1 to 0, most users will be probably be doing
fstat(2, &st2) != -1 && (st1.st_rdev != st2.st_rdev))
warning("stdout appears redirected, but stdin is the control descriptor");
}
fstat(2, &st2) != -1 && (st1.st_rdev != st2.st_rdev))
warning("stdout appears redirected, but stdin is the control descriptor");
}
ccval(c, fmt)
unsigned char c;
{
ccval(c, fmt)
unsigned char c;
{
-STATIC
-put(f, a) /* ??? */
- char *f;
+#include <varargs.h>
+
+put(va_alist)
+ va_dcl
+ char *fmt;
+ va_list ap;
+
+ va_start(ap);
+ fmt = va_arg(ap, char *);
+ (void) vfprintf(OUT, fmt, ap);
+ va_end(ap);
-STATIC
-warning(s, a)
- char *s;
+
+warning(va_alist)
+ va_dcl
+ char *fmt;
+ va_list ap;
+
fprintf(ERR, "stty: warning: ");
fprintf(ERR, "stty: warning: ");
- _doprnt(s, &a, ERR); /* ??? */
+ va_start(ap);
+ fmt = va_arg(ap, char *);
+ (void) vfprintf(ERR, fmt, ap);
+ va_end(ap);
-STATIC
-errexit(s, a)
- char *s;
+
+errexit(va_alist)
+ va_dcl
+ char *fmt;
+ va_list ap;
+
- _doprnt(s, &a, ERR); /* ??? */
+ va_start(ap);
+ fmt = va_arg(ap, char *);
+ (void) vfprintf(ERR, fmt, ap);
+ va_end(ap);
fprintf(ERR, "\n");
exit(1);
}
fprintf(ERR, "\n");
exit(1);
}
-STATIC
-syserrexit(s, a) /* ??? */
- char *s;
+
+syserrexit(va_alist)
+ va_dcl
+ char *fmt;
+ va_list ap;
+
- _doprnt(s, &a, ERR);
- fprintf(ERR, ": %s\n", sys_errlist[errno]);
+ va_start(ap);
+ fmt = va_arg(ap, char *);
+ (void) vfprintf(ERR, fmt, ap);
+ va_end(ap);
+ fprintf(ERR, ": %s\n", strerror(errno));