aboutsummaryrefslogtreecommitdiff
path: root/collections/vector/vector.c
diff options
context:
space:
mode:
authorTucker Evans <tucker@tuckerevans.com>2020-07-03 00:13:04 -0400
committerTucker Evans <tucker@tuckerevans.com>2020-07-04 22:29:31 -0400
commit8d5b381b540fe1d780311e4f4059dce014a6cb91 (patch)
treeb43273bc4c2b9d20baadf9f2c35948888fab6619 /collections/vector/vector.c
parent80d98a39a6bc4b71c74f240df617495e816b98b9 (diff)
Add copy function for vector
Diffstat (limited to 'collections/vector/vector.c')
-rw-r--r--collections/vector/vector.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/collections/vector/vector.c b/collections/vector/vector.c
index b3751dd..8aaffb6 100644
--- a/collections/vector/vector.c
+++ b/collections/vector/vector.c
@@ -144,3 +144,23 @@ vec *root;
}
fprintf(stderr, "\n");
}
+
+vec* vec_cp(root)
+vec *root;
+{
+ vec *copy;
+
+ if (!root)
+ return NULL;
+
+ copy = vec_with_capacity(root->limit);
+
+ copy->base = memcpy(copy->base, root->base,
+ vec_size(root) * sizeof(void*));
+ assert(copy->base);
+
+ copy->end = root->end;
+ copy->limit = root->limit;
+
+ return copy;
+}