### Function

# ECal util_split_at_instance

deprecated: 3.38 since: 3.16

#### Declaration [src]

    ICalComponent*
    e_cal_util_split_at_instance (
      ICalComponent* icalcomp,
      const ICalTime* rid,
      const ICalTime* master_dtstart
    )

#### Description [src]

Splits a recurring `icalcomp` into two at time `rid`. The returned `ICalComponent` is modified `icalcomp` which contains recurrences beginning at `rid`, inclusive. The instance identified by `rid` should exist. The `master_dtstart` can be a null time, then it is read from the `icalcomp`.

Use `e_cal_util_remove_instances_ex()` with E_CAL_OBJ_MOD_THIS_AND_FUTURE mode on the `icalcomp` to remove the overlapping interval from it, if needed.

Free the returned non-NULL component with g_object_unref(), when done with it.

Available since: 3.16

Deprecated since: 3.38

Use `e_cal_util_split_at_instance_ex()` instead, with provided timezone resolve function.

#### Parameters

`icalcomp`

  Type: `None`

  A (recurring) `ICalComponent`.

  The data is owned by the caller of the function.

`rid`

  Type: `None`

  The base RECURRENCE-ID to remove.

  The data is owned by the caller of the function.

`master_dtstart`

  Type: `None`

  The DTSTART of the master object.

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

#### Return value

Type: `None`

The split `icalcomp`, or `NULL`.

The caller of the function takes ownership of the data, and is responsible for freeing it.
The return value can be `NULL`.