/* $Id: assert.h,v 1.2 2002/02/20 09:17:54 hyperion Exp $ */ /* * assert.h * * verify program assertion. Conforming to the Single UNIX(r) Specification * Version 2, System Interface & Headers Issue 5 * * This file is part of the ReactOS Operating System. * * Contributors: * Created by KJK::Hyperion * * THIS SOFTWARE IS NOT COPYRIGHTED * * This source code is offered for use in the public domain. You may * use, modify or distribute it freely. * * This code is distributed in the hope that it will be useful but * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY * DISCLAMED. This includes but is not limited to warranties of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * */ #ifndef __ASSERT_H_INCLUDED__ #define __ASSERT_H_INCLUDED__ /* types */ /* constants */ /* prototypes */ /* macros */ #ifdef NDEBUG #define assert(ignore) ((void) 0) #else /* !NDEBUG */ #define assert(expression) \ #ifdef __PSXDLL__ /* headers for internal usage by psxdll.dll and ReactOS */ #include #include #else /* ! __PSXDLL__ */ /* standard POSIX headers */ #include #include #endif if(!(expression)) \ { \ fputs("__FILE__, line __LINE__: assertion \"expression\" failed\n", stderr); \ abort(); \ } #endif /* NDEBUG */ #endif /* __ASSERT_H_INCLUDED__ */ /* EOF */