X-Git-Url: https://git.saurik.com/apple/system_cmds.git/blobdiff_plain/733af6d04db20f642c7cbc543ddc5157d1f1993c..0e393d5044d1e68e17d91385b70d5cd6b27f8438:/at.tproj/panic.c diff --git a/at.tproj/panic.c b/at.tproj/panic.c index 839a54c..76831a8 100644 --- a/at.tproj/panic.c +++ b/at.tproj/panic.c @@ -1,30 +1,6 @@ -/* - * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. - * - * @APPLE_LICENSE_HEADER_START@ - * - * "Portions Copyright (c) 1999 Apple Computer, Inc. All Rights - * Reserved. This file contains Original Code and/or Modifications of - * Original Code as defined in and that are subject to the Apple Public - * Source License Version 1.0 (the 'License'). You may not use this file - * except in compliance with the License. Please obtain a copy of the - * License at http://www.apple.com/publicsource and read it before using - * this file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the - * License for the specific language governing rights and limitations - * under the License." - * - * @APPLE_LICENSE_HEADER_END@ - */ -/* - * panic.c - terminate fast in case of error - * Copyright (c) 1993 by Thomas Koenig - * All rights reserved. +/* + * panic.c - terminate fast in case of error + * Copyright (C) 1993 Thomas Koenig * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -38,7 +14,7 @@ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY @@ -47,8 +23,12 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include +__FBSDID("$FreeBSD: src/usr.bin/at/panic.c,v 1.17 2002/05/16 00:47:14 tjr Exp $"); + /* System Headers */ +#include #include #include #include @@ -57,61 +37,56 @@ /* Local headers */ #include "panic.h" +#include "privs.h" #include "at.h" -/* File scope variables */ - -static char rcsid[] = "$Id: panic.c,v 1.1.1.2 2000/01/11 02:10:05 wsanchez Exp $"; - /* External variables */ /* Global functions */ -#ifdef __APPLE__ -__private_extern__ -#endif void -panic(a) - char *a; +panic(const char *a) { /* Something fatal has happened, print error message and exit. */ - fprintf(stderr, "%s: %s\n", namep, a); - if (fcreated) + if (fcreated) { + PRIV_START unlink(atfile); + PRIV_END + } - exit(EXIT_FAILURE); + errx(EXIT_FAILURE, "%s", a); } void -perr(a) - char *a; +perr(const char *a) { /* Some operating system error; print error message and exit. */ - perror(a); - if (fcreated) - unlink(atfile); + int serrno = errno; - exit(EXIT_FAILURE); -} + if (fcreated) { + PRIV_START + unlink(atfile); + PRIV_END + } -void -perr2(a, b) - char *a, *b; -{ - fprintf(stderr, "%s", a); - perr(b); + errno = serrno; + err(EXIT_FAILURE, "%s", a); } void usage(void) { -/* Print usage and exit. -*/ - fprintf(stderr, "Usage: at [-q x] [-f file] [-m] time\n" - " atq [-q x] [-v]\n" - " atrm [-q x] job ...\n" - " batch [-f file] [-m]\n"); - exit(EXIT_FAILURE); + /* Print usage and exit. */ + fprintf(stderr, "usage: at [-q x] [-f file] [-m] time\n" + " at -c job [job ...]\n" + " at [-f file] -t [[CC]YY]MMDDhhmm[.SS]\n" + " at -r job [job ...]\n" + " at -l -q queuename\n" + " at -l [job ...]\n" + " atq [-q x] [-v]\n" + " atrm job [job ...]\n" + " batch [-f file] [-m]\n"); + exit(EXIT_FAILURE); }