int main(int argc, char *argv[]) { int ret_val; if (signal(SIGINT, SIG_IGN) != SIG_IGN) (void)signal(SIGINT, terminate); ret_val = setup(argc, argv); if (!ret_val) { /* * select the output format based on options */ if (merge) ret_val = mulfile(argc, argv); else if (clcnt == 1) ret_val = onecol(argc, argv); else if (across) ret_val = horzcol(argc, argv); else ret_val = vertcol(argc, argv); free(timefrmt); } else usage(); flsh_errs(); if (errcnt || ret_val) exit(1); return(0); }
int main(int argc, char *argv[]) { int ret_val; if (signal(SIGINT, SIG_IGN) != SIG_IGN) (void)signal(SIGINT, terminate); ret_val = setup(argc, argv); first_char = (COMPAT_MODE("bin/pr", "Unix2003") ? ochar : ' '); if (!ret_val) { /* * select the output format based on options */ if (merge) ret_val = mulfile(argc, argv); else if (clcnt == 1) ret_val = onecol(argc, argv); else if (across) ret_val = horzcol(argc, argv); else ret_val = vertcol(argc, argv); } else usage(); flsh_errs(); if (errcnt || ret_val) exit(1); return(0); }
static void ferrout(char *fmt, ...) { sigset_t block, oblock; struct ferrlist *f; va_list ap; char *p; va_start(ap, fmt); if (ferr == 0) vfprintf(stderr, fmt, ap); else { sigemptyset(&block); sigaddset(&block, SIGINT); sigprocmask(SIG_BLOCK, &block, &oblock); if (vasprintf(&p, fmt, ap) == -1 || (f = malloc(sizeof(*f))) == NULL) { va_end(ap); va_start(ap, fmt); flsh_errs(); vfprintf(stderr, fmt, ap); fputs("pr: memory allocation failed\n", stderr); exit(1); } f->next = NULL; f->buf = p; if (ferrhead == NULL) ferrhead = f; if (ferrtail) ferrtail->next = f; ferrtail = f; sigprocmask(SIG_SETMASK, &oblock, NULL); } va_end(ap); }
/* * terminate(): when a SIGINT is recvd */ void terminate(int which_sig __unused) { flsh_errs(); exit(1); }
/*ARGSUSED*/ void terminate(int which_sig) { flsh_errs(); _exit(1); }