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