summaryrefslogtreecommitdiff
path: root/src/common.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/common.cc')
-rw-r--r--src/common.cc4
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;