g_slist_append (
  GSList* list,
  gpointer data


Adds a new element on to the end of the list.

The return value is the new start of the list, which may have changed, so 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.



Type: A list of gpointer

A GSList.

The data is owned by the caller of the function.

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

The new start of the GSList.

The data is owned by the called function.