From aedb8717f13d126b7bf9c8a4db028579d564156a Mon Sep 17 00:00:00 2001 From: Gnome CVS User Date: Wed, 26 Nov 1997 01:52:50 +0000 Subject: [PATCH] Moved list concatenation code from gtkmain.c into its proper place in glib/glist.c, added corresponding g_slist_concat. --- glib/glib.h | 4 ++++ glib/glist.c | 18 ++++++++++++++++++ glib/gslist.c | 14 ++++++++++++++ gtk/gtkmain.c | 24 ++---------------------- 4 files changed, 38 insertions(+), 22 deletions(-) diff --git a/glib/glib.h b/glib/glib.h index 9af5fa1bb..68496c70f 100644 --- a/glib/glib.h +++ b/glib/glib.h @@ -367,6 +367,8 @@ GList* g_list_prepend (GList *list, GList* g_list_insert (GList *list, gpointer data, gint position); +GList* g_list_concat (GList *list1, + GList *list2); GList* g_list_remove (GList *list, gpointer data); GList* g_list_remove_link (GList *list, @@ -396,6 +398,8 @@ GSList* g_slist_prepend (GSList *list, GSList* g_slist_insert (GSList *list, gpointer data, gint position); +GSList* g_slist_concat (GSList *list1, + GSList *list2); GSList* g_slist_remove (GSList *list, gpointer data); GSList* g_slist_remove_link (GSList *list, diff --git a/glib/glist.c b/glib/glist.c index f5a31d743..833ee9e5d 100644 --- a/glib/glist.c +++ b/glib/glist.c @@ -202,6 +202,24 @@ g_list_insert (GList *list, return list; } +GList * +g_list_concat (GList *list1, GList *list2) +{ + GList *tmp_list; + + if (list2) + { + tmp_list = g_list_last (list1); + if (tmp_list) + tmp_list->next = list2; + else + list1 = list2; + list2->prev = tmp_list; + } + + return list1; +} + GList* g_list_remove (GList *list, gpointer data) diff --git a/glib/gslist.c b/glib/gslist.c index e09198522..a0782673e 100644 --- a/glib/gslist.c +++ b/glib/gslist.c @@ -174,6 +174,20 @@ g_slist_insert (GSList *list, return list; } +GSList * +g_slist_concat (GSList *list1, GSList *list2) +{ + if (list2) + { + if (list1) + g_slist_last (list1)->next = list2; + else + list1 = list2; + } + + return list1; +} + GSList* g_slist_remove (GSList *list, gpointer data) diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index 50d262430..e4e9e8ffc 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -784,26 +784,6 @@ gtk_handle_current_timeouts (guint32 the_time) } } -/* Utility function - make up for an ommision in glib */ -static GList * -gtk_main_list_concat (GList *list1, GList *list2) -{ - GList *tmp_list; - GList *list; - - if (list2) - { - tmp_list = g_list_last (list1); - if (tmp_list) - tmp_list->next = list2; - else - list1 = list2; - list2->prev = tmp_list; - } - - return list1; -} - static void gtk_handle_timeouts () { @@ -832,7 +812,7 @@ gtk_handle_timeouts () tmp_list = tmp_list->next; timeout_functions = g_list_remove_link (timeout_functions, tmp_list2); - current_timeouts = gtk_main_list_concat (current_timeouts, tmp_list2); + current_timeouts = g_list_concat (current_timeouts, tmp_list2); } else { @@ -886,7 +866,7 @@ gtk_handle_current_idles () } else { - idle_functions = gtk_main_list_concat (idle_functions, tmp_list); + idle_functions = g_list_concat (idle_functions, tmp_list); } } }