Annotation of coherent/d/bin/uucheck/parse_args.c, revision 1.1.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.