Annotation of coherent/d/bin/uucheck/parse_args.c, revision 1.1

1.1     ! root        1: /* parse_args - parse arguments to uucheck.
        !             2:  * Possible arguments are:
        !             3:  * -s or -silent       no output
        !             4:  * -v or -verbose      verbose output
        !             5:  * -f or -fix          fix as much as possible, must be root to use
        !             6:  */
        !             7: 
        !             8: #include "uucheck.h"
        !             9: 
        !            10: void
        !            11: parse_args(argc, argv)
        !            12:        int argc;
        !            13:        char *argv[];
        !            14: {
        !            15:        int i;
        !            16: 
        !            17:        silent = FALSE;  /* Generate no output if set.  Overrides verbose.  */
        !            18:        verbose = FALSE; /* Generate verbose output if set.  */
        !            19:        reallyverbose = FALSE; /* Generate really verbose output if set.  */
        !            20:        fix = FALSE;     /* Attempt to fix problems if set.  */
        !            21: 
        !            22:        do_sitename = TRUE;
        !            23:        do_lockfiles = TRUE;
        !            24:        do_fileperms = TRUE;
        !            25:        do_devices = TRUE;
        !            26:        do_sys = TRUE;
        !            27:        do_permissions = TRUE;
        !            28:        do_log = TRUE;
        !            29:        
        !            30:        for (i = 1; i < argc; ++i) {
        !            31:                if ( (strcmp(argv[i], "-s") == 0) ||
        !            32:                     (strcmp(argv[i], "-silent") == 0) ){
        !            33:                        silent = TRUE;
        !            34:                        continue;
        !            35:                } /* if argv[i] == -silent */
        !            36: 
        !            37:                if ( (strcmp(argv[i], "-v") == 0) ||
        !            38:                     (strcmp(argv[i], "-verbose") == 0) ){
        !            39:                        if(verbose) {
        !            40:                                reallyverbose = TRUE;
        !            41:                        } else {
        !            42:                                verbose = TRUE;
        !            43:                        } /* if already verbose */
        !            44:                        continue;
        !            45:                } /* if argv[i] == -verbose */
        !            46: 
        !            47:                if ( (strcmp(argv[i], "-f") == 0) ||
        !            48:                     (strcmp(argv[i], "-fix") == 0) ){
        !            49: #ifndef DEBUG
        !            50:                        if(getuid() == 0) {
        !            51:                                fix = TRUE;
        !            52:                        } else {
        !            53:                                fprintf(stderr, "Only root can fix.\n");
        !            54:                        } /* if I'm root */
        !            55: #else /* DEBUG */
        !            56:                        fix = TRUE;
        !            57: #endif /* DEBUG */
        !            58:                        continue;
        !            59:                } /* if argv[i] == -fix */
        !            60: 
        !            61:                fprintf(stderr, USAGE);
        !            62:                exit(255);
        !            63:        } /* for i = 1 to argc */
        !            64: 
        !            65: 
        !            66: } /* parse_args() */

unix.superglobalmegacorp.com

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