<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>prelude-string</title> <meta name="generator" content="DocBook XSL Stylesheets V1.78.1"> <link rel="home" href="index.html" title="Prelude library Reference Manual"> <link rel="up" href="ch04.html" title="Others"> <link rel="prev" href="libprelude-prelude-connection.html" title="prelude-connection"> <link rel="next" href="libprelude-prelude-msgbuf.html" title="prelude-msgbuf"> <meta name="generator" content="GTK-Doc V1.19 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"> <tr valign="middle"> <td><a accesskey="p" href="libprelude-prelude-connection.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> <td><a accesskey="u" href="ch04.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> <th width="100%" align="center">Prelude library Reference Manual</th> <td><a accesskey="n" href="libprelude-prelude-msgbuf.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> </tr> <tr><td colspan="5" class="shortcuts"> <a href="#libprelude-prelude-string.synopsis" class="shortcut">Top</a> | <a href="#libprelude-prelude-string.description" class="shortcut">Description</a> </td></tr> </table> <div class="refentry"> <a name="libprelude-prelude-string"></a><div class="titlepage"></div> <div class="refnamediv"><table width="100%"><tr> <td valign="top"> <h2><span class="refentrytitle"><a name="libprelude-prelude-string.top_of_page"></a>prelude-string</span></h2> <p>prelude-string</p> </td> <td valign="top" align="right"></td> </tr></table></div> <div class="refsynopsisdiv"> <a name="libprelude-prelude-string.synopsis"></a><h2>Synopsis</h2> <pre class="synopsis">typedef <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t">prelude_string_t</a>; <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-new" title="prelude_string_new ()">prelude_string_new</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> **string</code></em>); <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-new-nodup" title="prelude_string_new_nodup ()">prelude_string_new_nodup</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> **string</code></em>, <em class="parameter"><code><span class="type">char</span> *str</code></em>); <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-new-ref" title="prelude_string_new_ref ()">prelude_string_new_ref</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> **string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *str</code></em>); <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-new-dup" title="prelude_string_new_dup ()">prelude_string_new_dup</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> **string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *str</code></em>); <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-new-dup-fast" title="prelude_string_new_dup_fast ()">prelude_string_new_dup_fast</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> **string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *str</code></em>, <em class="parameter"><code><span class="type">size_t</span> len</code></em>); <span class="returnvalue">void</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-destroy" title="prelude_string_destroy ()">prelude_string_destroy</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>); <span class="returnvalue">void</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-destroy-internal" title="prelude_string_destroy_internal ()">prelude_string_destroy_internal</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>); <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-new-nodup-fast" title="prelude_string_new_nodup_fast ()">prelude_string_new_nodup_fast</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> **string</code></em>, <em class="parameter"><code><span class="type">char</span> *str</code></em>, <em class="parameter"><code><span class="type">size_t</span> len</code></em>); <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-new-ref-fast" title="prelude_string_new_ref_fast ()">prelude_string_new_ref_fast</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> **string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *str</code></em>, <em class="parameter"><code><span class="type">size_t</span> len</code></em>); <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-set-dup-fast" title="prelude_string_set_dup_fast ()">prelude_string_set_dup_fast</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *buf</code></em>, <em class="parameter"><code><span class="type">size_t</span> len</code></em>); <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-set-dup" title="prelude_string_set_dup ()">prelude_string_set_dup</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *buf</code></em>); <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-set-nodup-fast" title="prelude_string_set_nodup_fast ()">prelude_string_set_nodup_fast</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>, <em class="parameter"><code><span class="type">char</span> *buf</code></em>, <em class="parameter"><code><span class="type">size_t</span> len</code></em>); <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-set-nodup" title="prelude_string_set_nodup ()">prelude_string_set_nodup</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>, <em class="parameter"><code><span class="type">char</span> *buf</code></em>); <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-set-ref-fast" title="prelude_string_set_ref_fast ()">prelude_string_set_ref_fast</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *buf</code></em>, <em class="parameter"><code><span class="type">size_t</span> len</code></em>); <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-set-ref" title="prelude_string_set_ref ()">prelude_string_set_ref</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *buf</code></em>); <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-copy-ref" title="prelude_string_copy_ref ()">prelude_string_copy_ref</a> (<em class="parameter"><code>const <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *src</code></em>, <em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *dst</code></em>); <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-copy-dup" title="prelude_string_copy_dup ()">prelude_string_copy_dup</a> (<em class="parameter"><code>const <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *src</code></em>, <em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *dst</code></em>); <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="returnvalue">prelude_string_t</span></a> * <a class="link" href="libprelude-prelude-string.html#prelude-string-ref" title="prelude_string_ref ()">prelude_string_ref</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>); <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-clone" title="prelude_string_clone ()">prelude_string_clone</a> (<em class="parameter"><code>const <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *src</code></em>, <em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> **dst</code></em>); <span class="returnvalue">size_t</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-get-len" title="prelude_string_get_len ()">prelude_string_get_len</a> (<em class="parameter"><code>const <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>); const <span class="returnvalue">char</span> * <a class="link" href="libprelude-prelude-string.html#prelude-string-get-string-or-default" title="prelude_string_get_string_or_default ()">prelude_string_get_string_or_default</a> (<em class="parameter"><code>const <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *def</code></em>); const <span class="returnvalue">char</span> * <a class="link" href="libprelude-prelude-string.html#prelude-string-get-string" title="prelude_string_get_string ()">prelude_string_get_string</a> (<em class="parameter"><code>const <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>); <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-get-string-released" title="prelude_string_get_string_released ()">prelude_string_get_string_released</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>, <em class="parameter"><code><span class="type">char</span> **outptr</code></em>); <a class="link" href="libprelude-prelude-inttypes.html#prelude-bool-t" title="enum prelude_bool_t"><span class="returnvalue">prelude_bool_t</span></a> <a class="link" href="libprelude-prelude-string.html#prelude-string-is-empty" title="prelude_string_is_empty ()">prelude_string_is_empty</a> (<em class="parameter"><code>const <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>); <span class="returnvalue">void</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-clear" title="prelude_string_clear ()">prelude_string_clear</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>); <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-cat" title="prelude_string_cat ()">prelude_string_cat</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *dst</code></em>, <em class="parameter"><code>const <span class="type">char</span> *str</code></em>); <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-ncat" title="prelude_string_ncat ()">prelude_string_ncat</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *dst</code></em>, <em class="parameter"><code>const <span class="type">char</span> *str</code></em>, <em class="parameter"><code><span class="type">size_t</span> len</code></em>); <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-sprintf" title="prelude_string_sprintf ()">prelude_string_sprintf</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *fmt</code></em>, <em class="parameter"><code>...</code></em>); <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-vprintf" title="prelude_string_vprintf ()">prelude_string_vprintf</a> (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *fmt</code></em>, <em class="parameter"><code><span class="type">va_list</span> ap</code></em>); #define <a class="link" href="libprelude-prelude-string.html#prelude-string-set-constant" title="prelude_string_set_constant()">prelude_string_set_constant</a> (string, str) #define <a class="link" href="libprelude-prelude-string.html#prelude-string-new-constant" title="prelude_string_new_constant()">prelude_string_new_constant</a> (string, str) <span class="returnvalue">int</span> <a class="link" href="libprelude-prelude-string.html#prelude-string-compare" title="prelude_string_compare ()">prelude_string_compare</a> (<em class="parameter"><code>const <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *str1</code></em>, <em class="parameter"><code>const <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *str2</code></em>); </pre> </div> <div class="refsect1"> <a name="libprelude-prelude-string.description"></a><h2>Description</h2> <p> </p> </div> <div class="refsect1"> <a name="libprelude-prelude-string.details"></a><h2>Details</h2> <div class="refsect2"> <a name="prelude-string-t"></a><h3>prelude_string_t</h3> <pre class="programlisting">typedef struct prelude_string prelude_string_t; </pre> <p> </p> </div> <hr> <div class="refsect2"> <a name="prelude-string-new"></a><h3>prelude_string_new ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_new (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> **string</code></em>);</pre> <p> Create a new <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object, and store in in <em class="parameter"><code>string</code></em>. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer where to store the created <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a>.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>0 on success, or a negative value if an error occured.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-new-nodup"></a><h3>prelude_string_new_nodup ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_new_nodup (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> **string</code></em>, <em class="parameter"><code><span class="type">char</span> *str</code></em>);</pre> <p> Create a new <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object with a reference to <em class="parameter"><code>str</code></em> as initial value. <em class="parameter"><code>str</code></em> is owned by <em class="parameter"><code>string</code></em> and will be freed upon <a class="link" href="libprelude-prelude-string.html#prelude-string-destroy" title="prelude_string_destroy ()"><code class="function">prelude_string_destroy()</code></a>. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer where to store the created <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td> <td>Initial string value.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>0 on success, a negative value if an error occured.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-new-ref"></a><h3>prelude_string_new_ref ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_new_ref (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> **string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *str</code></em>);</pre> <p> Create a new <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object with a reference to <em class="parameter"><code>str</code></em> as initial value. <em class="parameter"><code>str</code></em> won't be freed upon <a class="link" href="libprelude-prelude-string.html#prelude-string-destroy" title="prelude_string_destroy ()"><code class="function">prelude_string_destroy()</code></a>. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer where to store the created <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td> <td>Initial string value.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>0 on success, a negative value if an error occured.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-new-dup"></a><h3>prelude_string_new_dup ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_new_dup (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> **string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *str</code></em>);</pre> <p> Create a new <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object with a copy of <em class="parameter"><code>str</code></em> as it's initial value. The copy is owned by the <em class="parameter"><code>string</code></em> and will be freed upon <a class="link" href="libprelude-prelude-string.html#prelude-string-destroy" title="prelude_string_destroy ()"><code class="function">prelude_string_destroy()</code></a>. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer where to store the created <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td> <td>Initial string value.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>0 on success, a negative value if an error occured.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-new-dup-fast"></a><h3>prelude_string_new_dup_fast ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_new_dup_fast (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> **string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *str</code></em>, <em class="parameter"><code><span class="type">size_t</span> len</code></em>);</pre> <p> Create a new <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object with a copy of <em class="parameter"><code>str</code></em> as it's initial value. The copy is owned by the <em class="parameter"><code>string</code></em> and will be freed upon <a class="link" href="libprelude-prelude-string.html#prelude-string-destroy" title="prelude_string_destroy ()"><code class="function">prelude_string_destroy()</code></a>. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer where to store the created <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td> <td>Initial string value.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td> <td>Lenght of <em class="parameter"><code>str</code></em>.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>0 on success, a negative value if an error occured.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-destroy"></a><h3>prelude_string_destroy ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> prelude_string_destroy (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>);</pre> <p> Decrease refcount and destroy <em class="parameter"><code>string</code></em>. <em class="parameter"><code>string</code></em> content content is destroyed if applicable (dup and nodup, or a referenced string that have been modified. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody><tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr></tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-destroy-internal"></a><h3>prelude_string_destroy_internal ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> prelude_string_destroy_internal (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>);</pre> <p> </p> </div> <hr> <div class="refsect2"> <a name="prelude-string-new-nodup-fast"></a><h3>prelude_string_new_nodup_fast ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_new_nodup_fast (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> **string</code></em>, <em class="parameter"><code><span class="type">char</span> *str</code></em>, <em class="parameter"><code><span class="type">size_t</span> len</code></em>);</pre> <p> Create a new <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object with a reference to <em class="parameter"><code>str</code></em> as initial value. <em class="parameter"><code>str</code></em> is owned by <em class="parameter"><code>string</code></em> and will be freed upon <a class="link" href="libprelude-prelude-string.html#prelude-string-destroy" title="prelude_string_destroy ()"><code class="function">prelude_string_destroy()</code></a>. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer where to store the created <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td> <td>Initial string value.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td> <td>Lenght of <em class="parameter"><code>str</code></em>.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>0 on success, a negative value if an error occured.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-new-ref-fast"></a><h3>prelude_string_new_ref_fast ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_new_ref_fast (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> **string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *str</code></em>, <em class="parameter"><code><span class="type">size_t</span> len</code></em>);</pre> <p> Create a new <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object with a reference to <em class="parameter"><code>str</code></em> as initial value. <em class="parameter"><code>str</code></em> won't be freed upon <a class="link" href="libprelude-prelude-string.html#prelude-string-destroy" title="prelude_string_destroy ()"><code class="function">prelude_string_destroy()</code></a>. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer where to store the created <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td> <td>Initial string value.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td> <td>Length of <em class="parameter"><code>str</code></em>.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>0 on success, a negative value if an error occured.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-set-dup-fast"></a><h3>prelude_string_set_dup_fast ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_set_dup_fast (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *buf</code></em>, <em class="parameter"><code><span class="type">size_t</span> len</code></em>);</pre> <p> Store a copy of the string pointed by <em class="parameter"><code>buf</code></em> in <em class="parameter"><code>string</code></em>. The <em class="parameter"><code>buf</code></em> copy will be freed upon <a class="link" href="libprelude-prelude-string.html#prelude-string-destroy" title="prelude_string_destroy ()"><code class="function">prelude_string_destroy()</code></a>. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td> <td>String to store in <em class="parameter"><code>string</code></em>.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td> <td>Lenght of <em class="parameter"><code>buf</code></em>.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>0 on success, or a negative value if an error occured.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-set-dup"></a><h3>prelude_string_set_dup ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_set_dup (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *buf</code></em>);</pre> <p> Store a copy of the string pointed by <em class="parameter"><code>buf</code></em> in <em class="parameter"><code>string</code></em>. The <em class="parameter"><code>buf</code></em> copy will be freed upon <a class="link" href="libprelude-prelude-string.html#prelude-string-destroy" title="prelude_string_destroy ()"><code class="function">prelude_string_destroy()</code></a>. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td> <td>String to store in <em class="parameter"><code>string</code></em>.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>0 on success, or a negative value if an error occured.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-set-nodup-fast"></a><h3>prelude_string_set_nodup_fast ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_set_nodup_fast (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>, <em class="parameter"><code><span class="type">char</span> *buf</code></em>, <em class="parameter"><code><span class="type">size_t</span> len</code></em>);</pre> <p> Store a reference to the string pointed by <em class="parameter"><code>buf</code></em> in <em class="parameter"><code>string</code></em>. The referenced <em class="parameter"><code>buf</code></em> will be freed upon <a class="link" href="libprelude-prelude-string.html#prelude-string-destroy" title="prelude_string_destroy ()"><code class="function">prelude_string_destroy()</code></a>. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td> <td>String to store in <em class="parameter"><code>string</code></em>.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td> <td>Lenght of <em class="parameter"><code>buf</code></em>.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>0 on success, or a negative value if an error occured.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-set-nodup"></a><h3>prelude_string_set_nodup ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_set_nodup (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>, <em class="parameter"><code><span class="type">char</span> *buf</code></em>);</pre> <p> Store a reference to the string pointed by <em class="parameter"><code>buf</code></em> in <em class="parameter"><code>string</code></em>. The referenced <em class="parameter"><code>buf</code></em> will be freed upon <a class="link" href="libprelude-prelude-string.html#prelude-string-destroy" title="prelude_string_destroy ()"><code class="function">prelude_string_destroy()</code></a>. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td> <td>String to store in <em class="parameter"><code>string</code></em>.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>0 on success, or a negative value if an error occured.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-set-ref-fast"></a><h3>prelude_string_set_ref_fast ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_set_ref_fast (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *buf</code></em>, <em class="parameter"><code><span class="type">size_t</span> len</code></em>);</pre> <p> Store a reference to the string pointed by <em class="parameter"><code>buf</code></em> in <em class="parameter"><code>string</code></em>. The referenced <em class="parameter"><code>buf</code></em> value won't be modified or freed. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td> <td>String to store in <em class="parameter"><code>string</code></em>.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td> <td>Lenght of <em class="parameter"><code>buf</code></em>.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>0 on success, or a negative value if an error occured.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-set-ref"></a><h3>prelude_string_set_ref ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_set_ref (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *buf</code></em>);</pre> <p> Store a reference to the string pointed by <em class="parameter"><code>buf</code></em> in <em class="parameter"><code>string</code></em>. The referenced <em class="parameter"><code>buf</code></em> value won't be modified or freed. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td> <td>String to store in <em class="parameter"><code>string</code></em>.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>0 on success, or a negative value if an error occured.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-copy-ref"></a><h3>prelude_string_copy_ref ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_copy_ref (<em class="parameter"><code>const <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *src</code></em>, <em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *dst</code></em>);</pre> <p> Reference <em class="parameter"><code>src</code></em> content within <em class="parameter"><code>dst</code></em>. The referenced content won't be modified or freed. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object to copy data from.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>dst</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object to copy data to.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>0 on success, or a negative value if an error occured.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-copy-dup"></a><h3>prelude_string_copy_dup ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_copy_dup (<em class="parameter"><code>const <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *src</code></em>, <em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *dst</code></em>);</pre> <p> Copy <em class="parameter"><code>src</code></em> content within <em class="parameter"><code>dst</code></em>. The content is owned by <em class="parameter"><code>src</code></em> and independent of <em class="parameter"><code>dst</code></em>. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object to copy data from.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>dst</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object to copy data to.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>0 on success, or a negative value if an error occured.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-ref"></a><h3>prelude_string_ref ()</h3> <pre class="programlisting"><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="returnvalue">prelude_string_t</span></a> * prelude_string_ref (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>);</pre> <p> Increase <em class="parameter"><code>string</code></em> reference count. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object to reference.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td> <em class="parameter"><code>string</code></em>.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-clone"></a><h3>prelude_string_clone ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_clone (<em class="parameter"><code>const <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *src</code></em>, <em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> **dst</code></em>);</pre> <p> Clone <em class="parameter"><code>src</code></em> within a new <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object stored into <em class="parameter"><code>dst</code></em>. Data carried by <em class="parameter"><code>dst</code></em> and <em class="parameter"><code>src</code></em> are independant. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td> <td>Pointer to an existing <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>dst</code></em> :</span></p></td> <td>Pointer to an address where to store the created <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>0 on success, or a negative value if an error occured.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-get-len"></a><h3>prelude_string_get_len ()</h3> <pre class="programlisting"><span class="returnvalue">size_t</span> prelude_string_get_len (<em class="parameter"><code>const <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>);</pre> <p> Return the length of the string carried by <em class="parameter"><code>string</code></em> object. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>The length of the string owned by <em class="parameter"><code>string</code></em>.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-get-string-or-default"></a><h3>prelude_string_get_string_or_default ()</h3> <pre class="programlisting">const <span class="returnvalue">char</span> * prelude_string_get_string_or_default (<em class="parameter"><code>const <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *def</code></em>);</pre> <p> Return the string carried on by <em class="parameter"><code>string</code></em> object, or <em class="parameter"><code>def</code></em> if it is empty. There should be no operation done on the returned string since it is still owned by <em class="parameter"><code>string</code></em>. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>def</code></em> :</span></p></td> <td>Default value to a return in case <em class="parameter"><code>string</code></em> is empty.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>The string owned by <em class="parameter"><code>string</code></em> or <em class="parameter"><code>def</code></em>.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-get-string"></a><h3>prelude_string_get_string ()</h3> <pre class="programlisting">const <span class="returnvalue">char</span> * prelude_string_get_string (<em class="parameter"><code>const <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>);</pre> <p> Return the string carried on by <em class="parameter"><code>string</code></em> object. There should be no operation done on the returned string since it is still owned by <em class="parameter"><code>string</code></em>. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>The string owned by <em class="parameter"><code>string</code></em> if any.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-get-string-released"></a><h3>prelude_string_get_string_released ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_get_string_released (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>, <em class="parameter"><code><span class="type">char</span> **outptr</code></em>);</pre> <p> Get <em class="parameter"><code>string</code></em> content, and release it so that further operation on <em class="parameter"><code>string</code></em> won't modify the returned content. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>outptr</code></em> :</span></p></td> <td>Pointer to an address where to store the released string.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>0 on success, or a negative value if an error occured.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-is-empty"></a><h3>prelude_string_is_empty ()</h3> <pre class="programlisting"><a class="link" href="libprelude-prelude-inttypes.html#prelude-bool-t" title="enum prelude_bool_t"><span class="returnvalue">prelude_bool_t</span></a> prelude_string_is_empty (<em class="parameter"><code>const <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>);</pre> <p> Check whether <em class="parameter"><code>string</code></em> is empty. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>TRUE if <em class="parameter"><code>string</code></em> is empty, FALSE otherwise.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-clear"></a><h3>prelude_string_clear ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> prelude_string_clear (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>);</pre> <p> Reset <em class="parameter"><code>string</code></em> content to zero. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody><tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr></tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-cat"></a><h3>prelude_string_cat ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_cat (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *dst</code></em>, <em class="parameter"><code>const <span class="type">char</span> *str</code></em>);</pre> <p> The <a class="link" href="libprelude-prelude-string.html#prelude-string-cat" title="prelude_string_cat ()"><code class="function">prelude_string_cat()</code></a> function appends the <em class="parameter"><code>str</code></em> string to the <em class="parameter"><code>dst</code></em> prelude_string_t object over-writing the `\0' character at the end of <em class="parameter"><code>dst</code></em>, and then adds a termi-nating `\0' character. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>dst</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td> <td>Pointer to a string.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td> <em class="parameter"><code>len</code></em>, or a negative value if an error occured.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-ncat"></a><h3>prelude_string_ncat ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_ncat (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *dst</code></em>, <em class="parameter"><code>const <span class="type">char</span> *str</code></em>, <em class="parameter"><code><span class="type">size_t</span> len</code></em>);</pre> <p> </p> </div> <hr> <div class="refsect2"> <a name="prelude-string-sprintf"></a><h3>prelude_string_sprintf ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_sprintf (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *fmt</code></em>, <em class="parameter"><code>...</code></em>);</pre> <p> Produce output according to <em class="parameter"><code>fmt</code></em>, and write output to the given <em class="parameter"><code>string</code></em>. See snprintf(3) to learn more about <em class="parameter"><code>fmt</code></em> format. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>fmt</code></em> :</span></p></td> <td>Format string to use.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td> <td>Variable argument list.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>The number of characters written, or a negative value if an error occured.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-vprintf"></a><h3>prelude_string_vprintf ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_vprintf (<em class="parameter"><code><a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *string</code></em>, <em class="parameter"><code>const <span class="type">char</span> *fmt</code></em>, <em class="parameter"><code><span class="type">va_list</span> ap</code></em>);</pre> <p> Produce output according to <em class="parameter"><code>fmt</code></em>, storing argument provided in <em class="parameter"><code>ap</code></em> variable argument list, and write the output to the given <em class="parameter"><code>string</code></em>. See sprintf(3) for more information on <em class="parameter"><code>fmt</code></em> format. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>fmt</code></em> :</span></p></td> <td>Format string to use.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>ap</code></em> :</span></p></td> <td>Variable argument list.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>The number of characters written, or a negative value if an error occured.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> <a name="prelude-string-set-constant"></a><h3>prelude_string_set_constant()</h3> <pre class="programlisting">#define prelude_string_set_constant(string, str)</pre> <p> </p> </div> <hr> <div class="refsect2"> <a name="prelude-string-new-constant"></a><h3>prelude_string_new_constant()</h3> <pre class="programlisting">#define prelude_string_new_constant(string, str)</pre> <p> </p> </div> <hr> <div class="refsect2"> <a name="prelude-string-compare"></a><h3>prelude_string_compare ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> prelude_string_compare (<em class="parameter"><code>const <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *str1</code></em>, <em class="parameter"><code>const <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> *str2</code></em>);</pre> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>str1</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object to compare with <em class="parameter"><code>str2</code></em>.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>str2</code></em> :</span></p></td> <td>Pointer to a <a class="link" href="libprelude-prelude-string.html#prelude-string-t" title="prelude_string_t"><span class="type">prelude_string_t</span></a> object to compare with <em class="parameter"><code>str1</code></em>.</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td>0 if <em class="parameter"><code>str1</code></em> and <em class="parameter"><code>str2</code></em> value are equal, a negative value otherwise.</td> </tr> </tbody> </table></div> </div> </div> </div> <div class="footer"> <hr> Generated by GTK-Doc V1.19</div> </body> </html>