1
<refentry id="libxfce4util-Unicode-Support-Functions">
3
<refentrytitle role="top_of_page">Unicode Manipulation</refentrytitle>
4
<manvolnum>3</manvolnum>
5
<refmiscinfo>LIBXFCE4UTIL Library</refmiscinfo>
9
<refname>Unicode Manipulation</refname>
10
<refpurpose>functions operating on Unicode characters and UTF-8 strings.</refpurpose>
11
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
14
<refsynopsisdiv role="synopsis">
15
<title role="synopsis.title">Synopsis</title>
19
#include <libxfce4util/libxfce4util.h>
22
<link linkend="gchar">gchar</link>* <link linkend="xfce-utf8-remove-controls">xfce_utf8_remove_controls</link> (<link linkend="gchar">gchar</link> *str,
23
<link linkend="gssize">gssize</link> max_len,
24
const <link linkend="gchar">gchar</link> *end);
25
<link linkend="gchar">gchar</link>* <link linkend="xfce-utf8-strndup">xfce_utf8_strndup</link> (const <link linkend="gchar">gchar</link> *src,
26
<link linkend="gssize">gssize</link> max_len);
38
<refsect1 role="desc">
39
<title role="desc.title">Description</title>
44
<refsect1 role="details">
45
<title role="details.title">Details</title>
47
<title><anchor id="xfce-utf8-remove-controls" role="function" condition="since:4.2"/>xfce_utf8_remove_controls ()</title>
48
<indexterm role="4.2"><primary>xfce_utf8_remove_controls</primary></indexterm><programlisting><link linkend="gchar">gchar</link>* xfce_utf8_remove_controls (<link linkend="gchar">gchar</link> *str,
49
<link linkend="gssize">gssize</link> max_len,
50
const <link linkend="gchar">gchar</link> *end);</programlisting>
52
Removes all control characters from <parameter>str</parameter> up to <parameter>end</parameter> or up to
53
<parameter>max_len</parameter> characters (note that characters does not mean bytes with
54
UTF-8), where both <parameter>str</parameter> and <parameter>max_len</parameter> may not be given.
57
Control characters are replaced in <parameter>str</parameter> by whitespaces, no new string
58
will be allocated. The operation is done in-place.</para>
61
</para><variablelist role="params">
62
<varlistentry><term><parameter>str</parameter> :</term>
63
<listitem><simpara> target string.
64
</simpara></listitem></varlistentry>
65
<varlistentry><term><parameter>max_len</parameter> :</term>
66
<listitem><simpara> max characters to check or -1 for no character limit.
67
</simpara></listitem></varlistentry>
68
<varlistentry><term><parameter>end</parameter> :</term>
69
<listitem><simpara> pointer to the endpoint in <parameter>str</parameter> or <link linkend="NULL:CAPS"><literal>NULL</literal></link> for no endpoint.
70
</simpara></listitem></varlistentry>
71
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> pointer to <parameter>str</parameter> or <link linkend="NULL:CAPS"><literal>NULL</literal></link> on error.
73
</simpara></listitem></varlistentry>
74
</variablelist><para role="since">Since 4.2
77
<title><anchor id="xfce-utf8-strndup" role="function" condition="since:4.3"/>xfce_utf8_strndup ()</title>
78
<indexterm role="4.3"><primary>xfce_utf8_strndup</primary></indexterm><programlisting><link linkend="gchar">gchar</link>* xfce_utf8_strndup (const <link linkend="gchar">gchar</link> *src,
79
<link linkend="gssize">gssize</link> max_len);</programlisting>
81
Duplicates the <parameter>src</parameter> string up to <parameter>max_len</parameter> characters
82
(note that characters does not mean bytes with UTF-8).
85
The caller is responsible to free the returned string
86
using <link linkend="g-free"><function>g_free()</function></link> when no longer needed.</para>
89
</para><variablelist role="params">
90
<varlistentry><term><parameter>src</parameter> :</term>
91
<listitem><simpara> target string.
92
</simpara></listitem></varlistentry>
93
<varlistentry><term><parameter>max_len</parameter> :</term>
94
<listitem><simpara> max characters to duplicate or -1 for no character limit.
95
</simpara></listitem></varlistentry>
96
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> pointer to the newly allocated string.
98
</simpara></listitem></varlistentry>
99
</variablelist><para role="since">Since 4.3
107
<title>See Also</title>
109
<ulink url="http://developer.gnome.org/doc/API/2.0/glib/glib-Unicode-Manipulation.html">Glib Unicode Manipulation</ulink>