summaryrefslogtreecommitdiff
path: root/vector.c
diff options
context:
space:
mode:
authorKai Stevenson <kai@kaistevenson.com>2022-12-07 17:33:21 -0800
committerKai Stevenson <kai@kaistevenson.com>2022-12-07 17:33:21 -0800
commitf501b24b8886605949cd9b7880b8e4ce8e866e9d (patch)
treed9ba24521a8988592b062e080d0dda93d9a21e81 /vector.c
parentc57fdac8fb91a29205bda4a8d8a6f91f4c1ec172 (diff)
fixed a bug in the remove_vectors function
Diffstat (limited to 'vector.c')
-rw-r--r--vector.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/vector.c b/vector.c
index 2741a47..6ab3bf2 100644
--- a/vector.c
+++ b/vector.c
@@ -26,13 +26,17 @@ vectorp_t remove_vectors(vectorp_t vectorp, int* indexes, int indexCount) {
vector_t* vectors = malloc((vectorp.length - indexCount) * sizeof(vector_t));
int correctedIndex = 0;
for(int i = 0; i < vectorp.length - indexCount; i++) {
+ int toRemove = 0;
for(int j = 0; j < indexCount; j++) {
if(i == indexes[j]) {
- continue;
+ toRemove = 1;
+ break;
}
}
- vectors[correctedIndex] = vectorp.vectors[i];
- correctedIndex++;
+ if(!toRemove) {
+ vectors[correctedIndex] = vectorp.vectors[i];
+ correctedIndex++;
+ }
}
return init_vectorp(vectors, vectorp.length - indexCount);
}