aboutsummaryrefslogtreecommitdiff
path: root/include/std/misc.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/std/misc.h')
-rw-r--r--include/std/misc.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/include/std/misc.h b/include/std/misc.h
new file mode 100644
index 0000000..3ac524a
--- /dev/null
+++ b/include/std/misc.h
@@ -0,0 +1,33 @@
+#ifndef AMALGAM_MISC_H
+#define AMALGAM_MISC_H
+
+#define return_if_error(result) \
+do { \
+ int return_if_result; \
+ return_if_result = (result); \
+ if((return_if_result) != 0) \
+ return return_if_result; \
+} while(0)
+
+#define cleanup_if_error(result) do { if((result) != 0) goto cleanup; } while(0)
+
+#if defined(__GNUC__) && __GNUC__ >= 4
+#define CHECK_RESULT __attribute__ ((warn_unused_result))
+#elif defined(_MSC_VER) && _MSC_VER >= 1700
+#define CHECK_RESULT _Check_return_
+#else
+#define CHECK_RESULT
+#endif
+
+#define ignore_result_int(expr) (void)((expr)+1)
+
+typedef enum {
+ bool_false,
+ bool_true
+} bool;
+
+#ifndef NULL
+#define NULL ((void*)0)
+#endif
+
+#endif \ No newline at end of file