erase() function iter fixess

This commit is contained in:
Andrew Haynes
2026-04-30 13:48:17 -04:00
parent 0e530d993e
commit 509228bf58
3 changed files with 601 additions and 115 deletions
+4 -5
View File
@@ -99,6 +99,7 @@ clear(Vec8_t* vec)
if(!vec->arr) continue;
vec->arr[i] = 0;
}
vec->size = 0;
}
return *vec;
}
@@ -127,14 +128,12 @@ at(const Vec8_t* vec, const int idx)
Vec8_t*
erase(Vec8_t* vec, const int iter) {
/*
* Clear the value at iter to 0
* shift all the values in the vector over to the left one
* */
if(vec == nullptr) return nullptr;
if(vec->arr == nullptr) return nullptr;
if(iter >= vec->size) return nullptr;
vec->arr[iter] = 0;
memmove(&vec->arr[iter], &vec->arr[iter + 1], (vec->size * sizeof(char)) -1);
memmove(&vec->arr[iter], &vec->arr[iter + 1], (vec->size - iter - 1) * sizeof(char));
vec->size--;
return vec;
}