summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSøren Sandmann Pedersen <sandmann@daimi.au.dk>2009-04-17 19:54:41 -0400
committerSøren Sandmann Pedersen <sandmann@daimi.au.dk>2009-04-17 19:54:41 -0400
commit584746085736e975b99157fcf27322595bb64ef4 (patch)
tree00ce7adddab519ec53827d16b79fccd75f2ac5e2
parent1a7c6eb8edfeb315b291bd3c8dbdf9b24b52b321 (diff)
Eliminate the need for get_array() for array freeing
-rw-r--r--array.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/array.c b/array.c
index 3f80d0d..90af331 100644
--- a/array.c
+++ b/array.c
@@ -55,8 +55,10 @@ get_array (const void *data, const int *magic)
}
static void
-array_free (array_t *array)
+array_free (void *data, const int *magic)
{
+ array_t *array = get_array (data, magic);
+
g_free (array);
}
@@ -175,6 +177,8 @@ array_append (void *data,
return data;
}
+/***************************** individual array implementations ****************************/
+
/* Generic arrays
*
* The idiomatic way to use them is like this:
@@ -205,7 +209,7 @@ nul_array_append (nul_ptr_t arr, nul_ptr_t element)
void
nul_array_free (nul_ptr_t array)
{
- array_free (get_array (array, &arr_t_magic));
+ array_free (array, &arr_t_magic);
}
gsize
@@ -262,7 +266,7 @@ nul_ptr_array_append (void **arr, gpointer data)
void
nul_ptr_array_free (void **arr)
{
- array_free (get_array (arr, &parr_t_magic));
+ array_free (arr, &parr_t_magic);
}
gsize
@@ -285,7 +289,7 @@ nul_string_new (void)
void
nul_string_free (nul_string_t *str)
{
- array_free (get_array (str, &string_t_magic));
+ array_free (str, &string_t_magic);
}
gsize