summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-09-08 10:20:23 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-09-08 10:20:23 -0400
commit982f09f2cd8c8327eccf8c5e01ec8ab3434538bb (patch)
treeacdf6a7092b061832778aeb349dad02f63a325d7
parentae7c55468670127983592c1a4943f3c79335d19e (diff)
pkarr: iter begin & end check count
-rw-r--r--pkarr.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/pkarr.h b/pkarr.h
index d3e43ea..0d5cef9 100644
--- a/pkarr.h
+++ b/pkarr.h
@@ -303,7 +303,7 @@ bool
pk_arr_iter_begin(struct pk_arr *arr, struct pk_iter *it) {
it->data = nullptr;
it->id.arr.i = 0;
- if (arr->data != nullptr && arr->data != CAFE_BABE(void)) {
+ if (arr->next > 0 && arr->data != nullptr && arr->data != CAFE_BABE(void)) {
it->data = arr->data;
return true;
}
@@ -313,7 +313,7 @@ pk_arr_iter_begin(struct pk_arr *arr, struct pk_iter *it) {
bool pk_arr_iter_end(struct pk_arr *arr, struct pk_iter *it) {
it->data = nullptr;
it->id.arr.i = 0;
- if (arr->data != nullptr && arr->data != CAFE_BABE(void)) {
+ if (arr->next > 0 && arr->data != nullptr && arr->data != CAFE_BABE(void)) {
it->id.arr.i = arr->next - 1;
it->data = (void *)((char*)arr->data + (arr->stride * it->id.arr.i));
return true;