<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>TRIO</title> <link href="trio.css" rel="stylesheet" type="text/css"> </head> <body> <!-- Generated by Doxygen 1.2.12 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> </center> <hr><h1>Dynamic String Functions.</h1>Dynamic string functions. <a href="#_details">More...</a><table border=0 cellpadding=0 cellspacing=0> <tr><td colspan=2><br><h2>Functions</h2></td></tr> <tr><td nowrap align=right valign=top>TRIO_STRING_PUBLIC trio_string_t * </td><td valign=bottom><a class="el" href="group___dynamic_strings.html#a3">trio_string_create</a> (int initial_size)</td></tr> <tr><td> </td><td><font size=-1><em>Create a new dynamic string.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>TRIO_STRING_PUBLIC void </td><td valign=bottom><a class="el" href="group___dynamic_strings.html#a4">trio_string_destroy</a> (trio_string_t *self)</td></tr> <tr><td> </td><td><font size=-1><em>Deallocate the dynamic string and its contents.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>TRIO_STRING_PUBLIC char * </td><td valign=bottom><a class="el" href="group___dynamic_strings.html#a5">trio_string_get</a> (trio_string_t *self, int offset)</td></tr> <tr><td> </td><td><font size=-1><em>Get a pointer to the content.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>TRIO_STRING_PUBLIC char * </td><td valign=bottom><a class="el" href="group___dynamic_strings.html#a6">trio_string_extract</a> (trio_string_t *self)</td></tr> <tr><td> </td><td><font size=-1><em>Extract the content.</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>TRIO_STRING_PUBLIC void </td><td valign=bottom><a class="el" href="group___dynamic_strings.html#a7">trio_xstring_set</a> (trio_string_t *self, char *buffer)</td></tr> <tr><td> </td><td><font size=-1><em>Set the content of the dynamic string.</em> <a href="#a7">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>TRIO_STRING_PUBLIC int </td><td valign=bottom><a class="el" href="group___dynamic_strings.html#a10">trio_string_append</a> (trio_string_t *self, trio_string_t *other)</td></tr> <tr><td> </td><td><font size=-1><em>Append the second string to the first.</em> <a href="#a10">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>TRIO_STRING_PUBLIC int </td><td valign=bottom><a class="el" href="group___dynamic_strings.html#a13">trio_string_contains</a> (trio_string_t *self, trio_string_t *other)</td></tr> <tr><td> </td><td><font size=-1><em>Search for the first occurrence of second parameter in the first.</em> <a href="#a13">More...</a><em></em></font><br><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Dynamic string functions. <p> <b>SYNOPSIS</b> <p> <div class="fragment"><pre> cc ... -ltrio -lm #include <triostr.h> </pre></div> <p> <b>DESCRIPTION</b> <hr><h2>Function Documentation</h2> <a name="a10" doxytag="triostr.c::trio_string_append"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> TRIO_STRING_PUBLIC int trio_string_append </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">trio_string_t * </td> <td class="mdname" nowrap> <em>self</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>trio_string_t * </td> <td class="mdname" nowrap> <em>other</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Append the second string to the first. <p> <dl compact><dt><b> Parameters: </b><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>self</em> </td><td> Dynamic string to be modified. </td></tr> <tr><td valign=top><em>other</em> </td><td> Dynamic string to copy from. </td></tr> </table> </dl><dl compact><dt><b> Returns: </b><dd> Boolean value indicating success or failure. </dl> </td> </tr> </table> <a name="a13" doxytag="triostr.c::trio_string_contains"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> TRIO_STRING_PUBLIC int trio_string_contains </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">trio_string_t * </td> <td class="mdname" nowrap> <em>self</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>trio_string_t * </td> <td class="mdname" nowrap> <em>other</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Search for the first occurrence of second parameter in the first. <p> <dl compact><dt><b> Parameters: </b><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>self</em> </td><td> Dynamic string to be modified. </td></tr> <tr><td valign=top><em>other</em> </td><td> Dynamic string to copy from. </td></tr> </table> </dl><dl compact><dt><b> Returns: </b><dd> Boolean value indicating success or failure. </dl> </td> </tr> </table> <a name="a3" doxytag="triostr.c::trio_string_create"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> TRIO_STRING_PUBLIC trio_string_t* trio_string_create </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">int </td> <td class="mdname1" valign="top" nowrap> <em>initial_size</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Create a new dynamic string. <p> <dl compact><dt><b> Parameters: </b><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>initial_size</em> </td><td> Initial size of the buffer. </td></tr> </table> </dl><dl compact><dt><b> Returns: </b><dd> Newly allocated dynamic string, or NULL if memory allocation failed. </dl> </td> </tr> </table> <a name="a4" doxytag="triostr.c::trio_string_destroy"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> TRIO_STRING_PUBLIC void trio_string_destroy </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">trio_string_t * </td> <td class="mdname1" valign="top" nowrap> <em>self</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Deallocate the dynamic string and its contents. <p> <dl compact><dt><b> Parameters: </b><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>self</em> </td><td> Dynamic string </td></tr> </table> </dl> </td> </tr> </table> <a name="a6" doxytag="triostr.c::trio_string_extract"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> TRIO_STRING_PUBLIC char* trio_string_extract </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">trio_string_t * </td> <td class="mdname1" valign="top" nowrap> <em>self</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Extract the content. <p> <dl compact><dt><b> Parameters: </b><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>self</em> </td><td> Dynamic String </td></tr> </table> </dl><dl compact><dt><b> Returns: </b><dd> Content of dynamic string.</dl>The content is removed from the dynamic string. This enables destruction of the dynamic string without deallocation of the content. </td> </tr> </table> <a name="a5" doxytag="triostr.c::trio_string_get"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> TRIO_STRING_PUBLIC char* trio_string_get </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">trio_string_t * </td> <td class="mdname" nowrap> <em>self</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>offset</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Get a pointer to the content. <p> <dl compact><dt><b> Parameters: </b><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>self</em> </td><td> Dynamic string. </td></tr> <tr><td valign=top><em>offset</em> </td><td> Offset into content. </td></tr> </table> </dl><dl compact><dt><b> Returns: </b><dd> Pointer to the content.</dl><code>Offset</code> can be zero, positive, or negative. If <code>offset</code> is zero, then the start of the content will be returned. If <code>offset</code> is positive, then a pointer to <code>offset</code> number of characters from the beginning of the content is returned. If <code>offset</code> is negative, then a pointer to <code>offset</code> number of characters from the ending of the string, starting at the terminating zero, is returned. </td> </tr> </table> <a name="a7" doxytag="triostr.c::trio_xstring_set"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> TRIO_STRING_PUBLIC void trio_xstring_set </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">trio_string_t * </td> <td class="mdname" nowrap> <em>self</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>char * </td> <td class="mdname" nowrap> <em>buffer</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Set the content of the dynamic string. <p> <dl compact><dt><b> Parameters: </b><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>self</em> </td><td> Dynamic String </td></tr> <tr><td valign=top><em>buffer</em> </td><td> The new content.</td></tr> </table> </dl>Sets the content of the dynamic string to a copy <code>buffer</code>. An existing content will be deallocated first, if necessary. <p> <dl compact><dt><b> Remarks: </b><dd> This function will make a copy of <code>buffer</code>. You are responsible for deallocating <code>buffer</code> yourself. </dl> </td> </tr> </table> <HR> <center class="copyright">Copyright (C) 2001 Bjørn Reese and Daniel Stenberg.</center> </body> </html>