diff options
Diffstat (limited to 'src/utils')
| -rw-r--r-- | src/utils/types.c | 7 | ||||
| -rw-r--r-- | src/utils/utils.c | 8 | ||||
| -rw-r--r-- | src/utils/utils.h | 2 | 
3 files changed, 9 insertions, 8 deletions
| diff --git a/src/utils/types.c b/src/utils/types.c index f986ba3..e414f92 100644 --- a/src/utils/types.c +++ b/src/utils/types.c @@ -15,7 +15,7 @@ generic_array_t create_array(size_t elem_size, size_t n) {  }  void free_array(generic_array_t *array) { -  free_and_nullify((void **)&array->data); +  free_and_nullify(array->data);    array->n = 0;  } @@ -49,11 +49,12 @@ str_array_t create_str_array(size_t n) {    return array;  } +// NOTE: would free both the array and all its elements  void free_str_array(str_array_t *array) {    for (size_t i = 0; i < array->n; i++) {      free(array->str[i]);    } -  free_and_nullify((void **)&array->str); +  free_and_nullify(array->str);    array->n = 0;  } @@ -115,7 +116,7 @@ data_t dequeue(queue_t *queue) {    node_t *temp = queue->front;    data_t data = temp->data;    queue->front = temp->next; -  free_and_nullify((void **)&temp); +  free_and_nullify(temp);    if (queue->front == NULL) {      queue->rear = NULL; diff --git a/src/utils/utils.c b/src/utils/utils.c index f7de635..ae60eee 100644 --- a/src/utils/utils.c +++ b/src/utils/utils.c @@ -170,9 +170,9 @@ int repchr(char *str, char t, char r) {    return c;  } -void free_and_nullify(void **p) { -  if (*p) { -    free(*p); -    *p = NULL; +void free_and_nullify(void *p) { +  if (p) { +    free(p); +    p = NULL;    }  } diff --git a/src/utils/utils.h b/src/utils/utils.h index a96ab70..5a26cf2 100644 --- a/src/utils/utils.h +++ b/src/utils/utils.h @@ -14,6 +14,6 @@ const char *mimeType2ext(const char *mimeType);  int repchr(char *str, char t, char r);  /* NOTICE: pass a pointer-to-pointer to free the original pointer. */ -void free_and_nullify(void **p); +void free_and_nullify(void *p);  #endif | 
