Function

GLibSListremove_link

Declaration

GSList*
g_slist_remove_link (
  GSList* list,
  GSList* link_
)

Description

Removes an element from a GSList, without freeing the element. The removed element’s next link is set to NULL, so that it becomes a self-contained list with one element.

Removing arbitrary nodes from a singly-linked list requires time that is proportional to the length of the list (ie. O(n)). If you find yourself using g_slist_remove_link() frequently, you should consider a different data structure, such as the doubly-linked GList.

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.
link_

Type: A list of gpointer

An element in the GSList.

The data is owned by the caller of the function.

Return value

Type: A list of gpointer

The new start of the GSList, without the element.

The data is owned by the called function.