diff options
| -rw-r--r-- | eglib/gmain.c | 78 | 
1 files changed, 19 insertions, 59 deletions
| diff --git a/eglib/gmain.c b/eglib/gmain.c index a5e46a3a..f14b1f09 100644 --- a/eglib/gmain.c +++ b/eglib/gmain.c @@ -106,18 +106,14 @@ void g_io_channel_unref(GIOChannel *channel)  	if (channel->close_on_unref && channel->fd >= 0)  		g_io_channel_close(channel); -	free(channel); +	g_free(channel);  }  GIOChannel *g_io_channel_unix_new(int fd)  {  	GIOChannel *channel; -	channel = malloc(sizeof(GIOChannel)); -	if (!channel) -		return NULL; - -	memset(channel, 0, sizeof(GIOChannel)); +	channel = g_new0(GIOChannel, 1);  	channel->fd = fd; @@ -154,7 +150,7 @@ static void watch_free(struct watch *watch)  {  	if (watch->destroy)  		watch->destroy(watch->user_data); -	free(watch); +	g_free(watch);  }  static GMainContext *g_main_context_default() @@ -162,11 +158,7 @@ static GMainContext *g_main_context_default()  	if (default_context)  		return default_context; -	default_context = malloc(sizeof(GMainContext)); -	if (!default_context) -		return NULL; - -	memset(default_context, 0, sizeof(GMainContext)); +	default_context = g_new0(GMainContext, 1);  	default_context->next_timeout = -1;  	default_context->next_id = 1; @@ -221,7 +213,7 @@ static gboolean g_timeout_remove(GMainContext *context, const guint id)  			continue;  		context->timeouts = g_slist_remove(context->timeouts, t); -		free(t); +		g_free(t);  		return TRUE;  	} @@ -236,7 +228,7 @@ static gboolean g_timeout_remove(GMainContext *context, const guint id)  			continue;  		context->proc_timeouts = g_slist_remove(context->proc_timeouts, t); -		free(t); +		g_free(t);  		return TRUE;  	} @@ -248,9 +240,6 @@ gboolean g_source_remove(guint tag)  {  	GMainContext *context = g_main_context_default(); -	if (!context) -		return FALSE; -  	if (g_io_remove_watch(context, tag))  		return TRUE; @@ -274,12 +263,7 @@ guint g_io_add_watch_full(GIOChannel *channel, gint priority,  	struct watch *watch;  	GMainContext *context = g_main_context_default(); -	if (!context) -		return 0; -        -	watch = malloc(sizeof(struct watch)); -	if (!watch) -		return 0; +	watch = g_new(struct watch, 1);  	watch->id = context->next_id++;  	watch->channel = channel; @@ -311,14 +295,7 @@ GMainLoop *g_main_loop_new(GMainContext *context, gboolean is_running)  	if (!context)  		context = g_main_context_default(); -	if (!context) -		return NULL; - -	ml = malloc(sizeof(GMainLoop)); -	if (!ml) -		return NULL; - -	memset(ml, 0, sizeof(GMainLoop)); +	ml = g_new0(GMainLoop, 1);  	ml->context = context;  	ml->is_running = is_running; @@ -384,7 +361,7 @@ static void timeout_handlers_check(GMainContext *context)  		context->timeouts = g_slist_remove(context->timeouts, t);  		if (!ret) { -			free(t); +			g_free(t);  			continue;  		} @@ -413,9 +390,7 @@ void g_main_loop_run(GMainLoop *loop)  	struct pollfd *ufds;  	GMainContext *context = loop->context; -	ufds = malloc(open_max * sizeof(struct pollfd)); -	if (!ufds) -		return; +	ufds = g_new(struct pollfd, open_max);  	loop->is_running = TRUE; @@ -476,7 +451,7 @@ void g_main_loop_run(GMainLoop *loop)  		timeout_handlers_check(loop->context);  	} -	free(ufds); +	g_free(ufds);  }  void g_main_loop_quit(GMainLoop *loop) @@ -492,10 +467,10 @@ void g_main_loop_unref(GMainLoop *loop)  	g_slist_foreach(loop->context->watches, (GFunc)watch_free, NULL);  	g_slist_free(loop->context->watches); -	g_slist_foreach(loop->context->timeouts, (GFunc)free, NULL); +	g_slist_foreach(loop->context->timeouts, (GFunc)g_free, NULL);  	g_slist_free(loop->context->timeouts); -	free(loop->context); +	g_free(loop->context);  	loop->context = NULL;  } @@ -507,15 +482,8 @@ guint g_timeout_add(guint interval, GSourceFunc function, gpointer data)  	guint msecs;  	struct timeout *t; -	if (!context || !function) -		return 0; - -	t = malloc(sizeof(*t)); +	t = g_new0(struct timeout, 1); -	if (!t) -		return 0; - -	memset(t, 0, sizeof(*t));  	t->interval = interval;  	t->function = function;  	t->data = data; @@ -667,10 +635,7 @@ GSList *g_slist_append(GSList *list, void *data)  {  	GSList *entry, *tail; -	entry = malloc(sizeof(GSList)); -	/* FIXME: this currently just silently fails */ -	if (!entry) -		return list; +	entry = g_new(GSList, 1);  	entry->data = data;  	entry->next = NULL; @@ -690,10 +655,7 @@ GSList *g_slist_prepend(GSList *list, void *data)  {  	GSList *entry; -	entry = malloc(sizeof(GSList)); -	/* FIXME: this currently just silently fails */ -	if (!entry) -		return list; +	entry = g_new(GSList, 1);  	entry->data = data;  	entry->next = list; @@ -706,9 +668,7 @@ GSList *g_slist_insert_sorted(GSList *list, void *data, GCompareFunc cmp_func)  	GSList *tmp, *prev, *entry;  	int cmp; -	entry = malloc(sizeof(GSList)); -	if (!entry) -		return list; +	entry = g_new(GSList, 1);  	entry->data = data;  	entry->next = NULL; @@ -763,7 +723,7 @@ GSList *g_slist_remove(GSList *list, void *data)  	next = match->next; -	free(match); +	g_free(match);  	/* If the head was removed, return the next element */  	if (!prev) @@ -872,7 +832,7 @@ void g_slist_free(GSList *list)  	for (l = list; l != NULL; l = next) {  		next = l->next; -		free(l); +		g_free(l);  	}  } | 
