Annotation of 43BSD/ucb/biff.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1983 Regents of the University of California.
                      3:  * All rights reserved.  The Berkeley software License Agreement
                      4:  * specifies the terms and conditions for redistribution.
                      5:  */
                      6: 
                      7: #ifndef lint
                      8: char copyright[] =
                      9: "@(#) Copyright (c) 1980 Regents of the University of California.\n\
                     10:  All rights reserved.\n";
                     11: #endif not lint
                     12: 
                     13: #ifndef lint
                     14: static char sccsid[] = "@(#)biff.c     5.1 (Berkeley) 5/31/85";
                     15: #endif not lint
                     16: 
                     17: /*
                     18:  * biff
                     19:  */
                     20: 
                     21: #include <sys/types.h>
                     22: #include <sys/stat.h>
                     23: #include <stdio.h>
                     24: 
                     25: char   *ttyname();
                     26: 
                     27: main(argc, argv)
                     28:        int argc;
                     29:        char **argv;
                     30: {
                     31:        char *cp = ttyname(2);
                     32:        struct stat stb;
                     33: 
                     34:        argc--, argv++;
                     35:        if (cp == 0)
                     36:                fprintf(stderr, "Where are you?\n"), exit(1);
                     37:        if (stat(cp, &stb) < 0)
                     38:                perror(cp), exit(1);
                     39:        if (argc == 0) {
                     40:                printf("is %s\n", stb.st_mode&0100 ? "y" : "n");
                     41:                exit((stb.st_mode&0100) ? 0 : 1);
                     42:        }
                     43:        switch (argv[0][0]) {
                     44: 
                     45:        case 'y':
                     46:                if (chmod(cp, stb.st_mode|0100) < 0)
                     47:                        perror(cp);
                     48:                break;
                     49: 
                     50:        case 'n':
                     51:                if (chmod(cp, stb.st_mode&~0100) < 0)
                     52:                        perror(cp);
                     53:                break;
                     54: 
                     55:        default:
                     56:                fprintf(stderr, "usage: biff [y] [n]\n");
                     57:        }
                     58:        exit((stb.st_mode&0100) ? 0 : 1);
                     59: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.