GLib.SList.append (original) (raw)
Function
GLibSListappend
Declaration [src]
GSList*
g_slist_append (
GSList* list,
gpointer data
)
Description [src]
Adds a new element on to the end of the list.
Note that the return value is the new start of the list if list
was empty; make sure you store the new value.
Note that g_slist_append()
has to traverse the entire list to find the end, which is inefficient when adding multiple elements. A common idiom to avoid the inefficiency is to prepend the elements and reverse the list when all elements have been added.
// Notice that these are initialized to the empty list. GSList *list = NULL, *number_list = NULL;
// This is a list of strings. list = g_slist_append (list, "first"); list = g_slist_append (list, "second");
// This is a list of integers. number_list = g_slist_append (number_list, GINT_TO_POINTER (27)); number_list = g_slist_append (number_list, GINT_TO_POINTER (14));
This function is not directly available to language bindings.
Parameters
list
Type: A list of gpointer
A GSList
.
The data is owned by the caller of the function.
data
Type: gpointer
The data for the new element.
The argument can be NULL. |
---|
The data is owned by the caller of the function. |
Return value
Type: A list of gpointer
Either list
or the new start of the GSList
if list
was NULL
.
The data is owned by the called function.