|
|
1.1 ! root 1: #ifndef lint ! 2: static char *sccsid ="@(#)biff.c 4.2 (Berkeley) 7/2/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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.