### Function

# GLib Array insert_vals

#### Declaration [src]

    GArray*
    g_array_insert_vals (
      GArray* array,
      guint index_,
      gconstpointer data,
      guint len
    )

#### Description [src]

Inserts `len` elements into a `GArray` at the given index.

If `index_` is greater than the array’s current length, the array is expanded. The elements between the old end of the array and the newly inserted elements will be initialised to zero if the array was configured to clear elements; otherwise their values will be undefined.

If `index_` is less than the array’s current length, new entries will be inserted into the array, and the existing entries above `index_` will be moved upwards.

`data` may be `NULL` if (and only if) `len` is zero. If `len` is zero, this function is a no-op.

This function is not directly available to language bindings.

#### Parameters

`array`

  Type: An array of `gpointer`

  A `GArray`.

  The data is owned by the caller of the function.

`index_`

  Type: `guint`

  The index to place the elements at.

`data`

  Type: `gconstpointer`

  A pointer to the elements to insert.

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

`len`

  Type: `guint`

  The number of elements to insert.

#### Return value

Type: An array of `gpointer`

The `GArray`.

The data is owned by the called function.