GLib.SList.remove_link
Description: Reference for GLib.SList.remove_link

### Function

# GLib SListremove_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.