### Function

# Gck Allocator

since: 2

#### Declaration

    gpointer
    (* GckAllocator) (
      gpointer data,
      gsize length
    )

#### Description [src]

An allocator used to allocate data for the attributes in this `GckAttributes` set.

This is a function that acts like g_realloc. Specifically it frees when length is set to zero, it allocates when data is set to `NULL`, and it reallocates when both are valid.

Available since: 2

#### Parameters

`data`

  Type: `gpointer`

  Memory to allocate or deallocate.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

`length`

  Type: `gsize`

  New length of memory.

#### Return value

Type: `gpointer`

The allocated memory, or `NULL` when freeing.

The data is owned by the called function.
The return value can be `NULL`.