### Function

# ICalGLib memory_append_decoded_string

since: 4.0

#### Declaration [src]

    void
    i_cal_memory_append_decoded_string (
      gchar** buf,
      gchar** pos,
      size_t* buf_size,
      const gchar* str
    )

#### Description [src]

Decodes the string as TEXT value and then appends it to the buffer. Only use them on normally allocated memory, or on buffers created from icalmemory_new_buffer, never with buffers created by icalmemory_tmp_buffer. If icalmemory_append_decoded_string has to resize a buffer on the ring, the ring will loose track of it and you will have memory problems.

Available since: 4.0

#### Parameters

`buf`

  Type: An array of `char`

  The buffer to be appended. It should not be the memory in ical.

  The argument will be modified by the function.
  The length of the array is specified in the `buf_size` argument.
  The caller of the function takes ownership of the returned data, and is responsible for freeing it.

`pos`

  Type: An array of `char`

  The position at which the new string to be appended.

  The argument will be modified by the function.
  The caller of the function takes ownership of the returned data, and is responsible for freeing it.

`buf_size`

  Type: `size_t*`

  The size of the buffer before appended.

  The argument will be modified by the function.

`str`

  Type: `const gchar*`

  The string to be allocated.

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