blob: c4de79b5889adee26d44c3eb5d7f32c8f0e6a28f [file] [log] [blame]
/*
* Copyright (C) Dmitry Volyntsev
* Copyright (C) NGINX, Inc.
*/
#ifndef _NJS_ASSERT_H_INCLUDED_
#define _NJS_ASSERT_H_INCLUDED_
#if (NJS_DEBUG)
#define njs_assert(condition) \
do { \
if (!(condition)) { \
njs_stderror("Assertion \"%s\" failed at %s:%d\n", #condition, \
__FILE__, __LINE__); \
abort(); \
} \
} while (0)
#define njs_assert_msg(condition, fmt, ...) \
do { \
if (!(condition)) { \
njs_stderror(fmt, ##__VA_ARGS__); \
njs_stderror(" at %s:%d\n", __FILE__, __LINE__); \
abort(); \
} \
} while (0)
#else
#define njs_assert(condition) (void) (condition)
#define njs_assert_msg(condition, fmt, ...) (void) (condition)
#endif
#endif /* _NJS_ASSERT_H_INCLUDED_ */