diff --git a/sys/lib/libsa/Makefile b/sys/lib/libsa/Makefile index b6d49397d135..383c9757928c 100644 --- a/sys/lib/libsa/Makefile +++ b/sys/lib/libsa/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.23 1998/09/24 05:23:33 ross Exp $ +# $NetBSD: Makefile,v 1.24 1999/02/12 10:51:28 drochner Exp $ LIB= sa NOPIC= @@ -15,7 +15,7 @@ CPPFLAGS= -I. ${SACPPFLAGS} ${SAMISCCPPFLAGS} \ # stand routines SRCS+= alloc.c bcopy.c exit.c exec.c getfile.c gets.c globals.c \ - memcmp.c memcpy.c printf.c strerror.c + memcmp.c memcpy.c panic.c printf.c strerror.c # io routines SRCS+= closeall.c dev.c disklabel.c dkcksum.c ioctl.c nullfs.c stat.c fstat.c diff --git a/sys/lib/libsa/exit.c b/sys/lib/libsa/exit.c index 4a84aa7b5956..16fee2ae9718 100644 --- a/sys/lib/libsa/exit.c +++ b/sys/lib/libsa/exit.c @@ -1,4 +1,4 @@ -/* $NetBSD: exit.c,v 1.12 1997/06/26 19:11:38 drochner Exp $ */ +/* $NetBSD: exit.c,v 1.13 1999/02/12 10:51:28 drochner Exp $ */ /*- * Copyright (c) 1993 John Brezak @@ -27,42 +27,10 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -#ifdef __STDC__ -#include -#else -#include -#endif #include "stand.h" -__dead void -#ifdef __STDC__ -panic(const char *fmt, ...) -#else -panic(fmt /*, va_alist */) - char *fmt; -#endif -{ - extern void closeall __P((void)); - va_list ap; - static int paniced; - - if (!paniced) { - paniced = 1; - closeall(); - } - -#ifdef __STDC__ - va_start(ap, fmt); -#else - va_start(ap); -#endif - vprintf(fmt, ap); - printf("\n"); - va_end(ap); - _rtt(); - /*NOTREACHED*/ -} +__dead void exit __P((void)) __attribute__((noreturn)); void exit() diff --git a/sys/lib/libsa/panic.c b/sys/lib/libsa/panic.c new file mode 100644 index 000000000000..6d74eefe6496 --- /dev/null +++ b/sys/lib/libsa/panic.c @@ -0,0 +1,65 @@ +/* $NetBSD: panic.c,v 1.1 1999/02/12 10:51:28 drochner Exp $ */ + +/*- + * Copyright (c) 1993 John Brezak + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR `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, 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 THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +#ifdef __STDC__ +#include +#else +#include +#endif + +#include "stand.h" + +__dead void +#ifdef __STDC__ +panic(const char *fmt, ...) +#else +panic(fmt /*, va_alist */) + char *fmt; +#endif +{ + extern void closeall __P((void)); + va_list ap; + static int paniced; + + if (!paniced) { + paniced = 1; + closeall(); + } + +#ifdef __STDC__ + va_start(ap, fmt); +#else + va_start(ap); +#endif + vprintf(fmt, ap); + printf("\n"); + va_end(ap); + _rtt(); + /*NOTREACHED*/ +} diff --git a/sys/lib/libsa/stand.h b/sys/lib/libsa/stand.h index 50316ebc72b9..0d2df65039b8 100644 --- a/sys/lib/libsa/stand.h +++ b/sys/lib/libsa/stand.h @@ -1,4 +1,4 @@ -/* $NetBSD: stand.h,v 1.28 1999/02/11 14:32:00 pk Exp $ */ +/* $NetBSD: stand.h,v 1.29 1999/02/12 10:51:28 drochner Exp $ */ /*- * Copyright (c) 1993 @@ -129,7 +129,6 @@ int getfile __P((char *prompt, int mode)); char *strerror __P((int)); __dead void panic __P((const char *, ...)) __attribute__((noreturn)); __dead void _rtt __P((void)) __attribute__((noreturn)); -__dead void exit __P((void)) __attribute__((noreturn)); void bcopy __P((const void *, void *, size_t)); void *memcpy __P((void *, const void *, size_t)); int memcmp __P((const void *, const void *, size_t));