erase() function iter fixess
This commit is contained in:
+4
-5
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user