Function

GLibSListdelete_link

Declaration

GSList*
g_slist_delete_link (
  GSList* list,
  GSList* link_
)

Description

Removes the node link_ from the list and frees it. Compare this to g_slist_remove_link() which removes the node without freeing it.

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_delete_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

Node to delete.

The data is owned by the caller of the function.

Return value

Type: A list of gpointer

The new head of list.

The data is owned by the called function.