From 1a1785595a9079850e1b9d490d486af6c6f47873 Mon Sep 17 00:00:00 2001 From: ben Date: Thu, 22 Jul 2010 00:05:22 +0200 Subject: glib-ify datatype, functions etc + header cleanup --- src/sink.c | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) (limited to 'src/sink.c') diff --git a/src/sink.c b/src/sink.c index a0283eb..8da3048 100644 --- a/src/sink.c +++ b/src/sink.c @@ -1,29 +1,16 @@ -#include #include -#include -#include -#include -#include #include "sink_input.h" #include "sink.h" extern GArray *sink_list; -sink_info *sink_list_get(int index) { - return &g_array_index(sink_list, sink_info, index); -} - -sink_input_info *sink_input_get(int sink_list_index, int index) { - return &g_array_index(sink_list_get(sink_list_index)->input_list, sink_input_info, index); -} - /* * init a sink list */ GArray *sink_list_alloc(void) { - return g_array_sized_new(false, false, sizeof(sink_info), 16); + return g_array_sized_new(FALSE, FALSE, sizeof(sink_info), 16); } /* @@ -31,10 +18,8 @@ GArray *sink_list_alloc(void) */ static void sink_clear(sink_info* sink) { - if (sink->name != NULL) - free(sink->name); - if (sink->device != NULL) - free(sink->device); + g_free(sink->name); + g_free(sink->device); sink_input_list_free(sink->input_list); } @@ -45,7 +30,21 @@ void sink_list_free(GArray *sink_list) { for (int i = 0; i < sink_list->len; ++i) sink_clear(&g_array_index(sink_list, sink_info, i)); - g_array_free(sink_list, true); + g_array_free(sink_list, TRUE); } +/* + * get sink at index from sink_list + */ +sink_info *sink_list_get(gint index) +{ + return &g_array_index(sink_list, sink_info, index); +} +/* + * get an input association to an sink by their indizes + */ +sink_input_info *sink_input_get(gint sink_list_index, gint index) +{ + return &g_array_index(sink_list_get(sink_list_index)->input_list, sink_input_info, index); +} -- cgit