### Function

# Gck Allocator

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

#### Parameters

`data` | `gpointer`
| Memory to allocate or deallocate.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
`length` | `gsize`
| New length of memory.

#### Return value

Returns: | `gpointer`
| The allocated memory, or `NULL` when freeing.
| The data is owned by the called function.
| The return value can be `NULL`.