diff options
author | EuAndreh <eu@euandre.org> | 2024-05-31 15:22:47 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2024-05-31 15:22:47 -0300 |
commit | a4362fc06770f2ff86ef7226b0f0907b8063b5b2 (patch) | |
tree | 7ea89f69f069140faf5f2b39c8d67052b024f77a /src | |
parent | src/vector.h: Revert back to doing vector_free(&v) (diff) | |
download | pindaiba-a4362fc06770f2ff86ef7226b0f0907b8063b5b2.tar.gz pindaiba-a4362fc06770f2ff86ef7226b0f0907b8063b5b2.tar.xz |
Use freeit() everywhere
Diffstat (limited to 'src')
-rw-r--r-- | src/random.c | 3 | ||||
-rw-r--r-- | src/string.c | 12 | ||||
-rw-r--r-- | src/util.c | 17 | ||||
-rw-r--r-- | src/util.h | 6 | ||||
-rw-r--r-- | src/vector.c | 12 |
5 files changed, 25 insertions, 25 deletions
diff --git a/src/random.c b/src/random.c index 2b41645..df2d3ff 100644 --- a/src/random.c +++ b/src/random.c @@ -8,6 +8,7 @@ #include <string.h> #include "logerr.h" +#include "util.h" #include "random.h" @@ -54,7 +55,7 @@ out: } } if (ret != NULL) { - free(ret); + freeit((void *)&ret); } return rc; } diff --git a/src/string.c b/src/string.c index dce00f3..5b06519 100644 --- a/src/string.c +++ b/src/string.c @@ -57,12 +57,10 @@ string_new_with( out: if (rc) { if (bytes != NULL) { - free((void *)bytes); - ret = NULL; + freeit((void *)&bytes); } if (ret != NULL) { - free((void *)ret); - ret = NULL; + freeit((void *)&ret); } } return rc; @@ -144,12 +142,10 @@ string_append( out: if (rc) { if (bytes != NULL) { - free((void *)bytes); - bytes = NULL; + freeit((void *)&bytes); } if (ret != NULL) { - free((void *)ret); - ret = NULL; + freeit((void *)&ret); } } return rc; @@ -10,12 +10,21 @@ #include "util.h" + const size_t NULL_TERMINATOR = sizeof((char)'\0'); const int EXIT_USAGE = 2; + + +void +freeit(const void **const ptr) { + free((void *)*ptr); + *ptr = NULL; +} + int slurp(const char *const filename, char **out) { int rc = -1; @@ -71,14 +80,8 @@ out: } if (rc) { if (str != NULL) { - free(str); + freeit((void *)&str); } } return rc; } - -void -freeit(const void **const ptr) { - free((void *)*ptr); - *ptr = NULL; -} @@ -4,8 +4,10 @@ NULL_TERMINATOR; extern const int EXIT_USAGE; -int -slurp(const char *const filename, char **out); + void freeit(const void **const ptr); + +int +slurp(const char *const filename, char **out); diff --git a/src/vector.c b/src/vector.c index b65ee2f..e5f5949 100644 --- a/src/vector.c +++ b/src/vector.c @@ -9,10 +9,11 @@ #include <stdio.h> #include <string.h> -#include "logerr.h" #include "catalog.h" #include "i18n.h" +#include "logerr.h" #include "math.h" +#include "util.h" #include "vector.h" @@ -86,12 +87,10 @@ vector_new_with( out: if (rc) { if (ret != NULL) { - free((void *)ret); - ret = NULL; + freeit((void *)&ret); } if (values != NULL) { - free((void *)values); - values = NULL; + freeit((void *)&values); } } return rc; @@ -198,8 +197,7 @@ vector_push_back(const struct Vector *const v, const void *const value) { out: if (rc) { if (new_values != NULL) { - free(new_values); - new_values = NULL; + freeit((void *)&new_values); } } return rc; |