diff options
Diffstat (limited to 'src/common.cc')
| -rw-r--r-- | src/common.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/common.cc b/src/common.cc index fd2a843..64c462b 100644 --- a/src/common.cc +++ b/src/common.cc @@ -25,6 +25,8 @@ typedef intptr_t isize; /* intrinsics */ #define likely(cond) __builtin_expect(!!(cond), 1) #define unlikely(cond) __builtin_expect(!!(cond), 0) +#define containerof(type, member, ptr) \ + ((type *)((char *)(ptr) - offsetof(type, member))) /* error handling sort of */ [[noreturn]] void panic_impl(const char* file, i32 line, const char* fmt, ...) { @@ -81,7 +83,7 @@ template <typename T> bool slice_write(const Slice<T>* slice, FILE* stream) { assert_neq(slice, nullptr); assert_neq(stream, nullptr); - + usize rc = fwrite(slice->ptr, sizeof(T), slice->length, stream); if (rc == 0 || slice->size() > rc) return false; return true; |
