diff options
Diffstat (limited to 'include/std/misc.h')
-rw-r--r-- | include/std/misc.h | 33 |
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 |