diff options
Diffstat (limited to 'src/common.cc')
| -rw-r--r-- | src/common.cc | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/common.cc b/src/common.cc index 36ddbeb..fd2a843 100644 --- a/src/common.cc +++ b/src/common.cc @@ -49,6 +49,10 @@ typedef intptr_t isize; if (unlikely(!(cond))) panic("assertion failed: %s", #cond); \ } while (0) +#define assert_neq(x, y) assert(x != y) +#define assert_st(x, y) assert(x < y) +#define assert_ste(x, y) assert(x <= y) + /* slice and string handling */ template <typename T> @@ -75,6 +79,9 @@ struct Slice { 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; @@ -93,8 +100,8 @@ struct Link { }; static inline void link_after(Link* prev, Link* nlink) { - assert(prev != nullptr); - assert(nlink != nullptr); + assert_neq(prev, nullptr); + assert_neq(nlink, nullptr); Link* next = prev->next; @@ -107,7 +114,7 @@ static inline void link_after(Link* prev, Link* nlink) { } static inline void link_remove(Link* item) { - assert(item != nullptr); + assert_neq(item, nullptr); Link* prev = item->prev; Link* next = item->next; |
