diff options
author | Christian Göttsche <cgzones@googlemail.com> | 2020-10-31 20:57:22 +0100 |
---|---|---|
committer | cgzones <cgzones@googlemail.com> | 2020-11-02 19:24:28 +0100 |
commit | 0806a7958b5b5ee29da043d3e4f3f854c164059d (patch) | |
tree | 4df792756fff5757429c6b3b118b2386838c4aa5 | |
parent | 742e610f1db4212d5bb5ca6ae56147fbf6f70f28 (diff) |
Assert Vector_get returns an object
It is generally assumed Vector_get returns a non-NULL object.
Use a generic assert in Vector_get instead of in callers.
-rw-r--r-- | Panel.c | 2 | ||||
-rw-r--r-- | Vector.c | 3 |
2 files changed, 2 insertions, 3 deletions
@@ -261,7 +261,6 @@ void Panel_draw(Panel* this, bool focus) { int line = 0; for(int i = first; line < h && i < upTo; i++) { Object* itemObj = Vector_get(this->items, i); - assert(itemObj); if(!itemObj) continue; RichString_begin(item); Object_display(itemObj, &item); int itemLen = RichString_sizeVal(item); @@ -288,7 +287,6 @@ void Panel_draw(Panel* this, bool focus) { } else { Object* oldObj = Vector_get(this->items, this->oldSelected); - assert(oldObj); RichString_begin(old); Object_display(oldObj, &old); int oldLen = RichString_sizeVal(old); @@ -65,8 +65,9 @@ int Vector_count(const Vector* this) { } Object* Vector_get(Vector* this, int idx) { - assert(idx < this->items); + assert(idx >= 0 && idx < this->items); assert(Vector_isConsistent(this)); + assert(this->array[idx]); return this->array[idx]; } |