/* 
 * assert.h
 *
 * x-kernel v3.3
 *
 * Copyright (c) 1993,1991,1990,1996  Arizona Board of Regents
 *
 * $Revision: 1.3 $
 * $Date: 1996/02/01 15:22:05 $
 * 
 * HISTORY
 * $Log: assert.h,v $
 * Revision 1.3  1996/02/01 15:22:05  slm
 * Updated copyright and version.
 *
 * Revision 1.2  1995/08/28  16:15:18  acb
 * Initial revision for x3.3
 *
 * Revision 1.1  1994/10/26  20:45:44  hkaram
 * Initial revision
 */

#ifndef assert_h
#define assert_h

#include <stdio.h>

#ifdef __STDC__

extern void abort(void);

#else

extern int fprintf();
extern void abort();

#endif

#define PRINT(A,B,C) fprintf(stderr, (A), (B), (C))
#define assertMessage "Assertion failed: file %s, line %d\n"

# ifdef lint
   extern int assert__x_;
#  define xAssert(ex) (assert__x_ = (ex), assert__x_ = assert__x_ )
#  define _xAssert(ex)(assert__x_ = (ex), assert__x_ = assert__x_ )
# else
#  ifdef XK_DEBUG
#   define _xAssert(ex) ((ex) ? 1 : (PRINT(assertMessage, __FILE__, __LINE__), abort()))
#   define xAssert(ex)  ((ex) ? 1 : (PRINT(assertMessage, __FILE__, __LINE__), abort()))
#  else
#   define _xAssert(ex) {}
#   define xAssert(ex) {}
#  endif XK_DEBUG
# endif lint
#endif assert_h
