xref: /original-bsd/usr.bin/biff/biff.c (revision 6c57d260)
1 static char *sccsid ="@(#)biff.c	4.1 (Berkeley) 10/18/80";
2 /*
3  * biff
4  */
5 
6 #include <sys/types.h>
7 #include <stat.h>
8 #include <stdio.h>
9 
10 char	*ttyname();
11 
12 main(argc, argv)
13 	int argc;
14 	char **argv;
15 {
16 	char *cp = ttyname(2);
17 	struct stat stb;
18 
19 	argc--, argv++;
20 	if (cp == 0)
21 		fprintf(stderr, "Where are you?\n"), exit(1);
22 	if (stat(cp, &stb) < 0)
23 		perror(cp), exit(1);
24 	if (argc == 0) {
25 		printf("is %s\n", stb.st_mode&0100 ? "y" : "n");
26 		exit((stb.st_mode&0100) ? 0 : 1);
27 	}
28 	switch (argv[0][0]) {
29 
30 	case 'y':
31 		if (chmod(cp, stb.st_mode|0100) < 0)
32 			perror(cp);
33 		break;
34 
35 	case 'n':
36 		if (chmod(cp, stb.st_mode&~0100) < 0)
37 			perror(cp);
38 		break;
39 
40 	default:
41 		fprintf(stderr, "usage: biff [y] [n]\n");
42 	}
43 	exit((stb.st_mode&0100) ? 0 : 1);
44 }
45