#endif
#include <errno.h>
+#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define SIZEOF(array) (sizeof (array) / sizeof (array[0]))
-#define ASSERT(expr) if (!(expr)) abort ();
+#define ASSERT(expr) \
+ do \
+ { \
+ if (!(expr)) \
+ { \
+ fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \
+ abort (); \
+ } \
+ } \
+ while (0)
/* Magic number for detecting bounds violations. */
#define MAGIC 0x1983EFF1