Fix several small issues

This commit is contained in:
topjohnwu
2017-05-05 04:16:00 +08:00
parent 693848280b
commit d66c284bed
8 changed files with 47 additions and 34 deletions

View File

@@ -2,6 +2,7 @@
*/
#include <stdlib.h>
#include <string.h>
#include "vector.h"
@@ -49,3 +50,12 @@ void vec_deep_destroy(struct vector *v) {
}
vec_destroy(v);
}
struct vector *vec_dup(struct vector *v) {
struct vector *ret = malloc(sizeof(*ret));
vec_size(ret) = vec_size(v);
vec_cap(ret) = vec_cap(v);
vec_entry(v) = malloc(sizeof(void*) * vec_cap(ret));
memcpy(vec_entry(ret), vec_entry(v), sizeof(void*) * vec_cap(ret));
return ret;
}