Add original unix v6
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
* mesg -- set current tty to accept or
|
||||
* forbid write permission.
|
||||
*
|
||||
* mesg [y] [n]
|
||||
* y allow messages
|
||||
* n forbid messages
|
||||
*/
|
||||
|
||||
int sbuf[40];
|
||||
|
||||
main(argc, argv)
|
||||
char *argv[];
|
||||
{
|
||||
register char *tty;
|
||||
|
||||
tty = "/dev/ttyx";
|
||||
tty[8] = ttyn(1);
|
||||
if(stat(tty, sbuf) < 0) {
|
||||
write(2, "cannot stat\n", 12);
|
||||
exit(1);
|
||||
}
|
||||
if(argc < 2) {
|
||||
if(sbuf[2] & 02)
|
||||
goto no;
|
||||
goto yes;
|
||||
}
|
||||
if(*argv[1] == 'y')
|
||||
goto yes;
|
||||
|
||||
no:
|
||||
if(chmod(tty, 0600) < 0)
|
||||
goto bad;
|
||||
goto was;
|
||||
|
||||
yes:
|
||||
if(chmod(tty, 0622) < 0)
|
||||
goto bad;
|
||||
|
||||
was:
|
||||
if(sbuf[2] & 02)
|
||||
write(2, "was y\n", 6); else
|
||||
write(2, "was n\n", 6);
|
||||
exit(0);
|
||||
|
||||
bad:
|
||||
write(2, "cannot change mode\n", 19);
|
||||
exit(1);
|
||||
}
|
||||
Reference in New Issue
Block a user