Unicode Manipulation
3
LIBXFCE4UTIL Library

# Unicode Manipulation

functions operating on Unicode characters and UTF-8 strings.

## Synopsis

    #include <libxfce4util/libxfce4util.h>

    gchar*              xfce_utf8_remove_controls           (gchar *str,
                                                             gssize max_len,
                                                             const gchar *end);
    gchar*              xfce_utf8_strndup                   (const gchar *src,
                                                             gssize max_len);

## Description

## Details

### xfce_utf8_remove_controls ()

    gchar*              xfce_utf8_remove_controls           (gchar *str,
                                                             gssize max_len,
                                                             const gchar *end);

Removes all control characters from `str` up to `end` or up to `max_len` characters (note that characters does not mean bytes with UTF-8), where both `str` and `max_len` may not be given.

Control characters are replaced in `str` by whitespaces, no new string will be allocated. The operation is done in-place.

`str` :

  target string.

`max_len` :

  max characters to check or -1 for no character limit.

`end` :

  pointer to the endpoint in `str` or `NULL` for no endpoint.

Returns :

  pointer to `str` or `NULL` on error.

Since 4.2

### xfce_utf8_strndup ()

    gchar*              xfce_utf8_strndup                   (const gchar *src,
                                                             gssize max_len);

Duplicates the `src` string up to `max_len` characters (note that characters does not mean bytes with UTF-8).

The caller is responsible to free the returned string using `g_free()` when no longer needed.

`src` :

  target string.

`max_len` :

  max characters to duplicate or -1 for no character limit.

Returns :

  pointer to the newly allocated string.

Since 4.3

## See Also

Glib Unicode Manipulation