new function g_slist_copy() to duplicate a list with all its data

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.
This commit is contained in:
Tim Janik 1998-11-23 01:52:07 +00:00 committed by Tim Janik
parent 3556db2054
commit 70a6dbff87
14 changed files with 170 additions and 0 deletions

View File

@ -1,3 +1,10 @@
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:
@ -9,6 +16,7 @@ Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* 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

View File

@ -1,3 +1,10 @@
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:
@ -9,6 +16,7 @@ Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* 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

View File

@ -1,3 +1,10 @@
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:
@ -9,6 +16,7 @@ Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* 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

View File

@ -1,3 +1,10 @@
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:
@ -9,6 +16,7 @@ Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* 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

View File

@ -1,3 +1,10 @@
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:
@ -9,6 +16,7 @@ Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* 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

View File

@ -1,3 +1,10 @@
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:
@ -9,6 +16,7 @@ Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* 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

View File

@ -1,3 +1,10 @@
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:
@ -9,6 +16,7 @@ Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* 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

View File

@ -1,3 +1,10 @@
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:
@ -9,6 +16,7 @@ Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* 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

2
glib.h
View File

@ -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,

View File

@ -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,

View File

@ -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)
{

View File

@ -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)
{

26
glist.c
View File

@ -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)
{

View File

@ -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)
{