### Method

# GLib String insert_len

#### Declaration

    GString*
    g_string_insert_len (
      GString* string,
      gssize pos,
      const gchar* val,
      gssize len
    )

#### Description

Inserts `len` bytes of `val` into `string` at `pos`.

If `len` is positive, `val` may contain embedded nuls and need not be nul-terminated. It is the caller’s responsibility to ensure that `val` has at least `len` addressable bytes.

If `len` is negative, `val` must be nul-terminated and `len` is considered to request the entire string length.

If `pos` is -1, bytes are inserted at the end of the string.

#### Parameters

`pos`

  Type: `gssize`

  Position in `string` where insertion should happen, or -1 for at the end.

`val`

  Type: `const gchar*`

  Bytes to insert.

  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`len`

  Type: `gssize`

  Number of bytes of `val` to insert, or -1 for all of `val`.

#### Return value

Type: `GString`

`string`.

The returned data is owned by the instance.