+Sun Nov 22 17:07:03 1998 Tim Janik <timj@gtk.org>
+
+ * 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 <amundson@gtk.org>
* INSTALL:
* Released GLib 1.1.5
Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
+
* 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
+Sun Nov 22 17:07:03 1998 Tim Janik <timj@gtk.org>
+
+ * 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 <amundson@gtk.org>
* INSTALL:
* Released GLib 1.1.5
Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
+
* 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
+Sun Nov 22 17:07:03 1998 Tim Janik <timj@gtk.org>
+
+ * 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 <amundson@gtk.org>
* INSTALL:
* Released GLib 1.1.5
Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
+
* 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
+Sun Nov 22 17:07:03 1998 Tim Janik <timj@gtk.org>
+
+ * 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 <amundson@gtk.org>
* INSTALL:
* Released GLib 1.1.5
Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
+
* 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
+Sun Nov 22 17:07:03 1998 Tim Janik <timj@gtk.org>
+
+ * 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 <amundson@gtk.org>
* INSTALL:
* Released GLib 1.1.5
Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
+
* 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
+Sun Nov 22 17:07:03 1998 Tim Janik <timj@gtk.org>
+
+ * 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 <amundson@gtk.org>
* INSTALL:
* Released GLib 1.1.5
Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
+
* 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
+Sun Nov 22 17:07:03 1998 Tim Janik <timj@gtk.org>
+
+ * 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 <amundson@gtk.org>
* INSTALL:
* Released GLib 1.1.5
Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
+
* 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
+Sun Nov 22 17:07:03 1998 Tim Janik <timj@gtk.org>
+
+ * 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 <amundson@gtk.org>
* INSTALL:
* Released GLib 1.1.5
Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
+
* 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
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,
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,
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,
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,
}
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)
{
GList *last;
}
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)
{
GSList *tmp;
}
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)
{
GList *last;
}
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)
{
GSList *tmp;