exit.c revision 1.2
11.1Sbrezak/*-
21.1Sbrezak *  Copyright (c) 1993 John Brezak
31.1Sbrezak *  All rights reserved.
41.1Sbrezak *
51.1Sbrezak *  Redistribution and use in source and binary forms, with or without
61.1Sbrezak *  modification, are permitted provided that the following conditions
71.1Sbrezak *  are met:
81.1Sbrezak *  1. Redistributions of source code must retain the above copyright
91.1Sbrezak *     notice, this list of conditions and the following disclaimer.
101.1Sbrezak *  2. Redistributions in binary form must reproduce the above copyright
111.1Sbrezak *     notice, this list of conditions and the following disclaimer in the
121.1Sbrezak *     documentation and/or other materials provided with the distribution.
131.1Sbrezak *  3. The name of the author may not be used to endorse or promote products
141.1Sbrezak *     derived from this software without specific prior written permission.
151.1Sbrezak *
161.1Sbrezak * THIS SOFTWARE IS PROVIDED BY THE AUTHOR `AS IS'' AND ANY EXPRESS OR
171.1Sbrezak * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
181.1Sbrezak * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
191.2Sbrezak * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
201.1Sbrezak * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
211.1Sbrezak * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
221.1Sbrezak * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
231.1Sbrezak * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
241.1Sbrezak * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
251.1Sbrezak * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
261.1Sbrezak * POSSIBILITY OF SUCH DAMAGE.
271.1Sbrezak */
281.2Sbrezak#include <stdarg.h>
291.1Sbrezak
301.1Sbrezak#ifndef lint
311.2Sbrezakstatic char rcsid[] = "$Id: exit.c,v 1.2 1994/05/08 16:11:22 brezak Exp $";
321.1Sbrezak#endif /* not lint */
331.1Sbrezak
341.2Sbrezakvoid
351.2Sbrezak#ifdef __STDC__
361.2Sbrezakpanic(const char *fmt, ...)
371.2Sbrezak#else
381.2Sbrezakpanic(fmt /*, va_alist */)
391.2Sbrezak	char *fmt;
401.2Sbrezak#endif
411.1Sbrezak{
421.2Sbrezak    va_list ap;
431.1Sbrezak
441.1Sbrezak    static int paniced;
451.1Sbrezak
461.1Sbrezak    if (!paniced) {
471.2Sbrezak        paniced = 1;
481.2Sbrezak        closeall();
491.1Sbrezak    }
501.1Sbrezak
511.2Sbrezak    va_start(ap, fmt);
521.2Sbrezak    printf(fmt, ap);
531.2Sbrezak    printf("\n");
541.2Sbrezak    va_end(ap);
551.1Sbrezak    _rtt();
561.2Sbrezak}
571.2Sbrezak
581.2Sbrezakexit()
591.2Sbrezak{
601.2Sbrezak    panic("exit");
611.1Sbrezak}
62