diff --git a/ChangeLog b/ChangeLog index 9d97abab9..6fbd2622c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Sun Nov 22 17:07:03 1998 Tim Janik + + * glib.h: + * gslist.c: new function g_slist_copy() to duplicate a list with all its + data pointers. + * glist.c: new function g_list_copy. + Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson * INSTALL: @@ -9,6 +16,7 @@ Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson * Released GLib 1.1.5 Wed Nov 18 1998 Elliot Lee + * gdataset.c: There was a code path into g_data_set_internal through a function (g_datalist_id_set_full). Neither function checked for g_dataset_init having been run, but diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 9d97abab9..6fbd2622c 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,10 @@ +Sun Nov 22 17:07:03 1998 Tim Janik + + * glib.h: + * gslist.c: new function g_slist_copy() to duplicate a list with all its + data pointers. + * glist.c: new function g_list_copy. + Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson * INSTALL: @@ -9,6 +16,7 @@ Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson * Released GLib 1.1.5 Wed Nov 18 1998 Elliot Lee + * gdataset.c: There was a code path into g_data_set_internal through a function (g_datalist_id_set_full). Neither function checked for g_dataset_init having been run, but diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 9d97abab9..6fbd2622c 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,10 @@ +Sun Nov 22 17:07:03 1998 Tim Janik + + * glib.h: + * gslist.c: new function g_slist_copy() to duplicate a list with all its + data pointers. + * glist.c: new function g_list_copy. + Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson * INSTALL: @@ -9,6 +16,7 @@ Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson * Released GLib 1.1.5 Wed Nov 18 1998 Elliot Lee + * gdataset.c: There was a code path into g_data_set_internal through a function (g_datalist_id_set_full). Neither function checked for g_dataset_init having been run, but diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index 9d97abab9..6fbd2622c 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,10 @@ +Sun Nov 22 17:07:03 1998 Tim Janik + + * glib.h: + * gslist.c: new function g_slist_copy() to duplicate a list with all its + data pointers. + * glist.c: new function g_list_copy. + Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson * INSTALL: @@ -9,6 +16,7 @@ Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson * Released GLib 1.1.5 Wed Nov 18 1998 Elliot Lee + * gdataset.c: There was a code path into g_data_set_internal through a function (g_datalist_id_set_full). Neither function checked for g_dataset_init having been run, but diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 9d97abab9..6fbd2622c 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,10 @@ +Sun Nov 22 17:07:03 1998 Tim Janik + + * glib.h: + * gslist.c: new function g_slist_copy() to duplicate a list with all its + data pointers. + * glist.c: new function g_list_copy. + Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson * INSTALL: @@ -9,6 +16,7 @@ Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson * Released GLib 1.1.5 Wed Nov 18 1998 Elliot Lee + * gdataset.c: There was a code path into g_data_set_internal through a function (g_datalist_id_set_full). Neither function checked for g_dataset_init having been run, but diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 9d97abab9..6fbd2622c 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,10 @@ +Sun Nov 22 17:07:03 1998 Tim Janik + + * glib.h: + * gslist.c: new function g_slist_copy() to duplicate a list with all its + data pointers. + * glist.c: new function g_list_copy. + Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson * INSTALL: @@ -9,6 +16,7 @@ Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson * Released GLib 1.1.5 Wed Nov 18 1998 Elliot Lee + * gdataset.c: There was a code path into g_data_set_internal through a function (g_datalist_id_set_full). Neither function checked for g_dataset_init having been run, but diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 9d97abab9..6fbd2622c 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,10 @@ +Sun Nov 22 17:07:03 1998 Tim Janik + + * glib.h: + * gslist.c: new function g_slist_copy() to duplicate a list with all its + data pointers. + * glist.c: new function g_list_copy. + Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson * INSTALL: @@ -9,6 +16,7 @@ Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson * Released GLib 1.1.5 Wed Nov 18 1998 Elliot Lee + * gdataset.c: There was a code path into g_data_set_internal through a function (g_datalist_id_set_full). Neither function checked for g_dataset_init having been run, but diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 9d97abab9..6fbd2622c 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,10 @@ +Sun Nov 22 17:07:03 1998 Tim Janik + + * glib.h: + * gslist.c: new function g_slist_copy() to duplicate a list with all its + data pointers. + * glist.c: new function g_list_copy. + Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson * INSTALL: @@ -9,6 +16,7 @@ Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson * Released GLib 1.1.5 Wed Nov 18 1998 Elliot Lee + * gdataset.c: There was a code path into g_data_set_internal through a function (g_datalist_id_set_full). Neither function checked for g_dataset_init having been run, but diff --git a/glib.h b/glib.h index 1b66572c5..551c2eb88 100644 --- a/glib.h +++ b/glib.h @@ -885,6 +885,7 @@ GList* g_list_remove (GList *list, GList* g_list_remove_link (GList *list, GList *llink); GList* g_list_reverse (GList *list); +GList* g_list_copy (GList *list); GList* g_list_nth (GList *list, guint n); GList* g_list_find (GList *list, @@ -932,6 +933,7 @@ GSList* g_slist_remove (GSList *list, GSList* g_slist_remove_link (GSList *list, GSList *llink); GSList* g_slist_reverse (GSList *list); +GSList* g_slist_copy (GSList *list); GSList* g_slist_nth (GSList *list, guint n); GSList* g_slist_find (GSList *list, diff --git a/glib/glib.h b/glib/glib.h index 1b66572c5..551c2eb88 100644 --- a/glib/glib.h +++ b/glib/glib.h @@ -885,6 +885,7 @@ GList* g_list_remove (GList *list, GList* g_list_remove_link (GList *list, GList *llink); GList* g_list_reverse (GList *list); +GList* g_list_copy (GList *list); GList* g_list_nth (GList *list, guint n); GList* g_list_find (GList *list, @@ -932,6 +933,7 @@ GSList* g_slist_remove (GSList *list, GSList* g_slist_remove_link (GSList *list, GSList *llink); GSList* g_slist_reverse (GSList *list); +GSList* g_slist_copy (GSList *list); GSList* g_slist_nth (GSList *list, guint n); GSList* g_slist_find (GSList *list, diff --git a/glib/glist.c b/glib/glist.c index eaa77d82c..ee9ad695c 100644 --- a/glib/glist.c +++ b/glib/glist.c @@ -273,6 +273,32 @@ g_list_remove_link (GList *list, return list; } +GList* +g_list_copy (GList *list) +{ + GList *new_list = NULL; + + if (list) + { + GList *last; + + new_list = g_list_alloc (); + new_list->data = list->data; + last = new_list; + list = list->next; + while (list) + { + last->next = g_list_alloc (); + last->next->prev = last; + last = last->next; + last->data = list->data; + list = list->next; + } + } + + return new_list; +} + GList* g_list_reverse (GList *list) { diff --git a/glib/gslist.c b/glib/gslist.c index e95290024..6a76d22a6 100644 --- a/glib/gslist.c +++ b/glib/gslist.c @@ -255,6 +255,31 @@ g_slist_remove_link (GSList *list, return list; } +GSList* +g_slist_copy (GSList *list) +{ + GSList *new_list = NULL; + + if (list) + { + GSList *last; + + new_list = g_slist_alloc (); + new_list->data = list->data; + last = new_list; + list = list->next; + while (list) + { + last->next = g_slist_alloc (); + last = last->next; + last->data = list->data; + list = list->next; + } + } + + return new_list; +} + GSList* g_slist_reverse (GSList *list) { diff --git a/glist.c b/glist.c index eaa77d82c..ee9ad695c 100644 --- a/glist.c +++ b/glist.c @@ -273,6 +273,32 @@ g_list_remove_link (GList *list, return list; } +GList* +g_list_copy (GList *list) +{ + GList *new_list = NULL; + + if (list) + { + GList *last; + + new_list = g_list_alloc (); + new_list->data = list->data; + last = new_list; + list = list->next; + while (list) + { + last->next = g_list_alloc (); + last->next->prev = last; + last = last->next; + last->data = list->data; + list = list->next; + } + } + + return new_list; +} + GList* g_list_reverse (GList *list) { diff --git a/gslist.c b/gslist.c index e95290024..6a76d22a6 100644 --- a/gslist.c +++ b/gslist.c @@ -255,6 +255,31 @@ g_slist_remove_link (GSList *list, return list; } +GSList* +g_slist_copy (GSList *list) +{ + GSList *new_list = NULL; + + if (list) + { + GSList *last; + + new_list = g_slist_alloc (); + new_list->data = list->data; + last = new_list; + list = list->next; + while (list) + { + last->next = g_slist_alloc (); + last = last->next; + last->data = list->data; + list = list->next; + } + } + + return new_list; +} + GSList* g_slist_reverse (GSList *list) {