#ifndef OSW_ASSERT_H
#define OSW_ASSERT_H


#ifdef NDEBUG
#define osw_assert(ignore) ((void) 0)

#else
#define osw_assert(exp) (exp) ? ((void) 0) : osw_assert_exec(__FILE__, __LINE__, #exp)

#ifdef __cplusplus
extern "C" {
#endif

void osw_assert_exec(const char* file, int line, const char* exp);

#ifdef __cplusplus
}
#endif	/* __cplusplus	*/

#endif	/* NDEBUG		*/
#endif	/* OSW_ASSERT_H	*/

