diff options
-rw-r--r-- | src/vector.c | 9 | ||||
-rw-r--r-- | tests/vector.c | 49 |
2 files changed, 27 insertions, 31 deletions
diff --git a/src/vector.c b/src/vector.c index 24d72b7..385e600 100644 --- a/src/vector.c +++ b/src/vector.c @@ -112,7 +112,14 @@ vector_new(const size_t value_size, const struct Vector **const out) { void vector_free(const struct Vector **const v) { - assert((*v) != NULL); + if (v == NULL) { + return; + } + + if (*v == NULL) { + return; + } + const void **values = (*v)->values; freeit((void *)&values); freeit((void *)v); diff --git a/tests/vector.c b/tests/vector.c index 7fae776..1ff270a 100644 --- a/tests/vector.c +++ b/tests/vector.c @@ -68,9 +68,7 @@ test_vector_new_with(void) { rc = 0; out: - if (v != NULL) { - vector_free(&v); - } + vector_free(&v); return rc; } @@ -129,9 +127,7 @@ test_vector_new(void) { rc = 0; out: - if (v != NULL) { - vector_free(&v); - } + vector_free(&v); return rc; } @@ -157,12 +153,19 @@ test_vector_free(void) { test_ok(); } + { + testing("it can be given null pointers"); - rc = 0; -out: - if (v != NULL) { + assert(v == NULL); vector_free(&v); + vector_free(NULL); + + test_ok(); } + + rc = 0; +out: + vector_free(&v); return rc; } @@ -207,9 +210,7 @@ test_vector_capacity(void) { rc = 0; out: - if (v != NULL) { - vector_free(&v); - } + vector_free(&v); return rc; } @@ -244,9 +245,7 @@ test_vector_count(void) { rc = 0; out: - if (v != NULL) { - vector_free(&v); - } + vector_free(&v); return rc; } @@ -402,9 +401,7 @@ test_vector_nth(void) { rc = 0; out: - if (v != NULL) { - vector_free(&v); - } + vector_free(&v); return rc; } @@ -494,9 +491,7 @@ test_vector_assign(void) { rc = 0; out: - if (v != NULL) { - vector_free(&v); - } + vector_free(&v); return rc; } @@ -564,9 +559,7 @@ test_vector_push_back(void) { rc = 0; out: - if (v != NULL) { - vector_free(&v); - } + vector_free(&v); return rc; } @@ -636,9 +629,7 @@ test_vector_pop_back(void) { rc = 0; out: - if (v != NULL) { - vector_free(&v); - } + vector_free(&v); return rc; } @@ -697,9 +688,7 @@ test_vector_contains(void) { rc = 0; out: - if (v != NULL) { - vector_free(&v); - } + vector_free(&v); return rc; } |