diff --git a/girara/datastructures.c b/girara/datastructures.c index 0b67a6d8cf2786bfceaf25537cdf45ae9ebb4b85..0b0882eb1505ee1b73e49c5bda5ea891cb2e1e35 100644 --- a/girara/datastructures.c +++ b/girara/datastructures.c @@ -40,7 +40,7 @@ girara_list_new(void) girara_list_t* girara_list_new2(girara_free_function_t gfree) { - girara_list_t* list = g_try_malloc0(sizeof(girara_list_t)); + girara_list_t* list = g_slice_new0(girara_list_t); if (list == NULL) { return NULL; } @@ -103,7 +103,7 @@ girara_list_free(girara_list_t* list) } girara_list_clear(list); - g_free(list); + g_slice_free(girara_list_t, list); } void @@ -203,7 +203,7 @@ girara_list_iterator(girara_list_t* list) return NULL; } - girara_list_iterator_t* iter = g_try_malloc0(sizeof(girara_list_iterator_t)); + girara_list_iterator_t* iter = g_slice_new0(girara_list_iterator_t); if (iter == NULL) { return NULL; } @@ -219,14 +219,7 @@ girara_list_iterator_copy(girara_list_iterator_t* iter) { g_return_val_if_fail(iter != NULL, NULL); - girara_list_iterator_t* iter2 = g_try_malloc0(sizeof(girara_list_iterator_t)); - if (iter2 == NULL) { - return NULL; - } - - iter2->list = iter->list; - iter2->element = iter->element; - return iter2; + return g_slice_copy(sizeof(girara_list_iterator_t), iter); } girara_list_iterator_t* @@ -328,7 +321,7 @@ girara_list_iterator_free(girara_list_iterator_t* iter) return; } - g_free(iter); + g_slice_free(girara_list_iterator_t, iter); } size_t diff --git a/girara/template.c b/girara/template.c index 73b73068ac99fdb85df1c70002367dd3c5084d0a..9705af3ee5048afa7d325350205abda860972fcf 100644 --- a/girara/template.c +++ b/girara/template.c @@ -36,7 +36,7 @@ new_variable(const char* name) return NULL; } - variable_t* variable = g_try_malloc0(sizeof(variable_t)); + variable_t* variable = g_slice_new0(variable_t); if (variable == NULL) { return NULL; } @@ -58,7 +58,7 @@ free_variable(void* data) variable->name = NULL; variable->value = NULL; - g_free(variable); + g_slice_free(variable_t, data); } static int