EzC
include
ezc
ezc_assert.h
Go to the documentation of this file.
1
/* ezc_assert.h
2
*
3
* Copyright (c) 2018 Kirk Lange <github.com/kirklange>
4
*
5
* This software is provided 'as-is', without any express or implied
6
* warranty. In no event will the authors be held liable for any damages
7
* arising from the use of this software.
8
*
9
* Permission is granted to anyone to use this software for any purpose,
10
* including commercial applications, and to alter it and redistribute it
11
* freely, subject to the following restrictions:
12
*
13
* 1. The origin of this software must not be misrepresented; you must not
14
* claim that you wrote the original software. If you use this software
15
* in a product, an acknowledgment in the product documentation would be
16
* appreciated but is not required.
17
* 2. Altered source versions must be plainly marked as such, and must not be
18
* misrepresented as being the original software.
19
* 3. This notice may not be removed or altered from any source distribution.
20
*/
21
22
#ifndef EZC_ASSERT_H
23
#define EZC_ASSERT_H
24
29
#ifdef __cplusplus
30
extern
C
31
{
32
#endif
33
34
35
44
#undef assert
45
#ifdef NDEBUG
46
#define assert(expr) ((void)0)
47
#else
48
#define assert(expr) \
49
((void) ((expr) || (ezc_assert(__FILE__, __LINE__, #expr), 0)))
50
#endif
51
52
53
54
/* Use the macro instead! */
55
void
ezc_assert(
char
const
*file,
unsigned
int
line,
char
const
*expr);
56
57
58
59
#ifdef __cplusplus
60
}
61
#endif
62
63
#endif
/* EZC_ASSERT_H */
Generated on Thu Jul 18 2019 03:14:37 for EzC by
1.8.15