mesg.c

来自「unix v7是最后一个广泛发布的研究型UNIX版本」· C语言 代码 · 共 56 行

C
56
字号
/* * mesg -- set current tty to accept or *	forbid write permission. * *	mesg [y] [n] *		y allow messages *		n forbid messages */#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>struct stat sbuf;char *tty;char *ttyname();main(argc, argv)char *argv[];{	int r=0;	tty = ttyname(2);	if(stat(tty, &sbuf) < 0) error("cannot stat");	if(argc < 2) {		if(sbuf.st_mode & 02)			fprintf(stderr,"is y\n");		else {	r=1;			fprintf(stderr,"is n\n");		}	} else	switch(*argv[1]) {		case 'y':			newmode(0622); break;		case 'n':			newmode(0600); r=1; break;		default:			error("usage: mesg [y] [n]");		}	exit(r);}error(s)char *s;{	fprintf(stderr,"mesg: %s\n",s);	exit(-1);}newmode(m){	if(chmod(tty,m)<0)		error("cannot change mode");}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?