/* ARGSUSED */ _X_NORETURN static void die(int sig) { dieing = True; _exit (auth_finalize ()); /* NOTREACHED */ }
/* ARGSUSED */ static _signal_t die(int sig) { dieing = True; _exit (auth_finalize ()); /* NOTREACHED */ #ifdef SIGNALRETURNSINT return -1; /* for picky compilers */ #endif }
/* * The main routine - parses command line and calls action procedures */ int main (int argc, char *argv[]) { int i; const char *sourcename = defsource; char **arglist = defcmds; int nargs = ndefcmds; int status; ProgramName = argv[0]; for (i = 1; i < argc; i++) { const char *arg = argv[i]; if (arg[0] == '-') { const char *flag; for (flag = (arg + 1); *flag; flag++) { switch (*flag) { case 'f': /* -f authfilename */ if (++i >= argc) usage (); authfilename = argv[i]; continue; case 'v': /* -v */ verbose = 1; continue; case 'q': /* -q */ verbose = 0; continue; case 'b': /* -b */ break_locks = True; continue; case 'i': /* -i */ ignore_locks = True; continue; default: usage (); } } } else { sourcename = "(argv)"; nargs = argc - i; arglist = argv + i; if (verbose == -1) verbose = 0; break; } } if (verbose == -1) { /* set default, don't junk stdout */ verbose = (isatty(fileno(stdout)) != 0); } if (!authfilename) { authfilename = IceAuthFileName (); /* static name, do not free */ if (!authfilename) { fprintf (stderr, "%s: unable to generate an authority file name\n", ProgramName); exit (1); } } if (auth_initialize (authfilename) != 0) { /* error message printed in auth_initialize */ exit (1); } status = process_command (sourcename, 1, nargs, arglist); (void) auth_finalize (); exit ((status != 0) ? 1 : 0); }