edits
[iotcloud.git] / version2 / src / C / common.h
index f23a5266980c5db606916594aeecb00afe30271e..afa511f262e7e6fd360c08a47ca6e3d85920349c 100644 (file)
@@ -37,4 +37,13 @@ class Transaction;
 class TransactionPart;
 class TransactionStatus;
 
+#define ASSERT(expr) \
+       do {                                                                                             \
+               if (!(expr)) {                                                                                                                                                                                                                  \
+                       fprintf(stderr, "Error: assertion failed in %s at line %d\n", __FILE__, __LINE__); \
+                       /* print_trace(); // Trace printing may cause dynamic memory allocation */ \
+                       exit(EXIT_FAILURE);                                                                                                                                                                                             \
+               }                                                                                                                                                                                                                                                                               \
+       } while (0)
+
 #endif