<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.12"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>FreeTDS API: Dynamic string functions</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/searchdata.js"></script> <script type="text/javascript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">FreeTDS API </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.12 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> $(function() { initMenu('',true,false,'search.php','Search'); $(document).ready(function() { init_search(); }); }); </script> <div id="main-nav"></div> </div><!-- top --> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> </div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div class="header"> <div class="summary"> <a href="#define-members">Macros</a> | <a href="#func-members">Functions</a> | <a href="#var-members">Variables</a> </div> <div class="headertitle"> <div class="title">Dynamic string functions<div class="ingroups"><a class="el" href="a00537.html">LibTDS API</a></div></div> </div> </div><!--header--> <div class="contents"> <p>Handle dynamic string. <a href="#details">More...</a></p> <div class="dynheader"> Collaboration diagram for Dynamic string functions:</div> <div class="dyncontent"> <center><table><tr><td><div class="center"><iframe scrolling="no" frameborder="0" src="a00535.svg" width="328" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe> </div> </td></tr></table></center> </div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:ga581a03a4de6c926c57b4a75a11214df4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00535.html#ga581a03a4de6c926c57b4a75a11214df4">DSTR_INITIALIZER</a>   ((struct <a class="el" href="a01073.html">tds_dstr</a>*) &<a class="el" href="a00535.html#ga676fd3c5c489584d09c89d66c7a0af2d">tds_str_empty</a>)</td></tr> <tr class="memdesc:ga581a03a4de6c926c57b4a75a11214df4"><td class="mdescLeft"> </td><td class="mdescRight">Initializer, used to initialize string like in the following example. <a href="#ga581a03a4de6c926c57b4a75a11214df4">More...</a><br /></td></tr> <tr class="separator:ga581a03a4de6c926c57b4a75a11214df4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga42d67780bd4fd442915780d4815fc743"><td class="memItemLeft" align="right" valign="top"><a id="ga42d67780bd4fd442915780d4815fc743"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00535.html#ga42d67780bd4fd442915780d4815fc743">tds_dstr_empty</a>(s)   <a class="el" href="a00535.html#gaccd1c1c8ff938813578123963212388c">tds_dstr_free</a>(s)</td></tr> <tr class="memdesc:ga42d67780bd4fd442915780d4815fc743"><td class="mdescLeft"> </td><td class="mdescRight">Make a string empty. <br /></td></tr> <tr class="separator:ga42d67780bd4fd442915780d4815fc743"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:ga6aa14b8b717b51afcfb65bd55143689d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00535.html#ga6aa14b8b717b51afcfb65bd55143689d">tds_dstr_alloc</a> (<a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> *s, size_t length)</td></tr> <tr class="memdesc:ga6aa14b8b717b51afcfb65bd55143689d"><td class="mdescLeft"> </td><td class="mdescRight">allocate space for length char <a href="#ga6aa14b8b717b51afcfb65bd55143689d">More...</a><br /></td></tr> <tr class="separator:ga6aa14b8b717b51afcfb65bd55143689d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga8fa35e3ff06ef0b7d0d642cf50282ab8"><td class="memItemLeft" align="right" valign="top">static char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00535.html#ga8fa35e3ff06ef0b7d0d642cf50282ab8">tds_dstr_buf</a> (<a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> *s)</td></tr> <tr class="memdesc:ga8fa35e3ff06ef0b7d0d642cf50282ab8"><td class="mdescLeft"> </td><td class="mdescRight">Returns a buffer to edit the string. <a href="#ga8fa35e3ff06ef0b7d0d642cf50282ab8">More...</a><br /></td></tr> <tr class="separator:ga8fa35e3ff06ef0b7d0d642cf50282ab8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad96366d9fa93bfc283cef1299fbe97ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00535.html#gad96366d9fa93bfc283cef1299fbe97ab">tds_dstr_copy</a> (<a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> *s, const char *src)</td></tr> <tr class="memdesc:gad96366d9fa93bfc283cef1299fbe97ab"><td class="mdescLeft"> </td><td class="mdescRight">copy a string from another <a href="#gad96366d9fa93bfc283cef1299fbe97ab">More...</a><br /></td></tr> <tr class="separator:gad96366d9fa93bfc283cef1299fbe97ab"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga656718f240d7403f986ae887d84a6ca1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00535.html#ga656718f240d7403f986ae887d84a6ca1">tds_dstr_copyn</a> (<a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> *s, const char *src, size_t length)</td></tr> <tr class="memdesc:ga656718f240d7403f986ae887d84a6ca1"><td class="mdescLeft"> </td><td class="mdescRight">Set string to a given buffer of characters. <a href="#ga656718f240d7403f986ae887d84a6ca1">More...</a><br /></td></tr> <tr class="separator:ga656718f240d7403f986ae887d84a6ca1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3340b488ed37845018e34572450e64c6"><td class="memItemLeft" align="right" valign="top"><a id="ga3340b488ed37845018e34572450e64c6"></a> static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00535.html#ga3340b488ed37845018e34572450e64c6">tds_dstr_cstr</a> (<a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> *s)</td></tr> <tr class="memdesc:ga3340b488ed37845018e34572450e64c6"><td class="mdescLeft"> </td><td class="mdescRight">Returns a C version (NUL terminated string) of dstr. <br /></td></tr> <tr class="separator:ga3340b488ed37845018e34572450e64c6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga4e6d9fa6f9b9551a5a3390e10a5322e6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00535.html#ga4e6d9fa6f9b9551a5a3390e10a5322e6">tds_dstr_dup</a> (<a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> *s, const <a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> *src)</td></tr> <tr class="memdesc:ga4e6d9fa6f9b9551a5a3390e10a5322e6"><td class="mdescLeft"> </td><td class="mdescRight">Duplicate a string from another dynamic string. <a href="#ga4e6d9fa6f9b9551a5a3390e10a5322e6">More...</a><br /></td></tr> <tr class="separator:ga4e6d9fa6f9b9551a5a3390e10a5322e6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaccd1c1c8ff938813578123963212388c"><td class="memItemLeft" align="right" valign="top"><a id="gaccd1c1c8ff938813578123963212388c"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00535.html#gaccd1c1c8ff938813578123963212388c">tds_dstr_free</a> (<a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> *s)</td></tr> <tr class="memdesc:gaccd1c1c8ff938813578123963212388c"><td class="mdescLeft"> </td><td class="mdescRight">free string <br /></td></tr> <tr class="separator:gaccd1c1c8ff938813578123963212388c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga6c0aba5c6da921898768e7f6cf177ca7"><td class="memItemLeft" align="right" valign="top"><a id="ga6c0aba5c6da921898768e7f6cf177ca7"></a> static void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00535.html#ga6c0aba5c6da921898768e7f6cf177ca7">tds_dstr_init</a> (<a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> *s)</td></tr> <tr class="memdesc:ga6c0aba5c6da921898768e7f6cf177ca7"><td class="mdescLeft"> </td><td class="mdescRight">init a string with empty <br /></td></tr> <tr class="separator:ga6c0aba5c6da921898768e7f6cf177ca7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae6d3d12bd1f5f0c56df934a377c245d3"><td class="memItemLeft" align="right" valign="top"><a id="gae6d3d12bd1f5f0c56df934a377c245d3"></a> static int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00535.html#gae6d3d12bd1f5f0c56df934a377c245d3">tds_dstr_isempty</a> (<a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> *s)</td></tr> <tr class="memdesc:gae6d3d12bd1f5f0c56df934a377c245d3"><td class="mdescLeft"> </td><td class="mdescRight">test if string is empty <br /></td></tr> <tr class="separator:gae6d3d12bd1f5f0c56df934a377c245d3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf0e232f3c35f2d8b43486e8708f7a8fc"><td class="memItemLeft" align="right" valign="top"><a id="gaf0e232f3c35f2d8b43486e8708f7a8fc"></a> static size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00535.html#gaf0e232f3c35f2d8b43486e8708f7a8fc">tds_dstr_len</a> (<a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> *s)</td></tr> <tr class="memdesc:gaf0e232f3c35f2d8b43486e8708f7a8fc"><td class="mdescLeft"> </td><td class="mdescRight">Returns the length of the string in bytes. <br /></td></tr> <tr class="separator:gaf0e232f3c35f2d8b43486e8708f7a8fc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab78cc59b110df2817b00f9bed74c6ff1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00535.html#gab78cc59b110df2817b00f9bed74c6ff1">tds_dstr_set</a> (<a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> *s, char *src)</td></tr> <tr class="memdesc:gab78cc59b110df2817b00f9bed74c6ff1"><td class="mdescLeft"> </td><td class="mdescRight">set a string from another buffer. <a href="#gab78cc59b110df2817b00f9bed74c6ff1">More...</a><br /></td></tr> <tr class="separator:gab78cc59b110df2817b00f9bed74c6ff1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0cd7863ba7c2d2da4a193234472a3d14"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00535.html#ga0cd7863ba7c2d2da4a193234472a3d14">tds_dstr_setlen</a> (<a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> *s, size_t length)</td></tr> <tr class="memdesc:ga0cd7863ba7c2d2da4a193234472a3d14"><td class="mdescLeft"> </td><td class="mdescRight">limit length of string, MUST be <= current length <a href="#ga0cd7863ba7c2d2da4a193234472a3d14">More...</a><br /></td></tr> <tr class="separator:ga0cd7863ba7c2d2da4a193234472a3d14"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga339ba30216e2bd5bd076aa9dcd26f3c4"><td class="memItemLeft" align="right" valign="top"><a id="ga339ba30216e2bd5bd076aa9dcd26f3c4"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00535.html#ga339ba30216e2bd5bd076aa9dcd26f3c4">tds_dstr_zero</a> (<a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> *s)</td></tr> <tr class="memdesc:ga339ba30216e2bd5bd076aa9dcd26f3c4"><td class="mdescLeft"> </td><td class="mdescRight">clear all string filling with zeroes (mainly for security reason) <br /></td></tr> <tr class="separator:ga339ba30216e2bd5bd076aa9dcd26f3c4"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> <tr class="memitem:ga676fd3c5c489584d09c89d66c7a0af2d"><td class="memItemLeft" align="right" valign="top"><a id="ga676fd3c5c489584d09c89d66c7a0af2d"></a> const struct <a class="el" href="a01073.html">tds_dstr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00535.html#ga676fd3c5c489584d09c89d66c7a0af2d">tds_str_empty</a></td></tr> <tr class="memdesc:ga676fd3c5c489584d09c89d66c7a0af2d"><td class="mdescLeft"> </td><td class="mdescRight">Internal representation for an empty string. <br /></td></tr> <tr class="separator:ga676fd3c5c489584d09c89d66c7a0af2d"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>Handle dynamic string. </p> <p>In this string are always valid (you don't have NULL pointer, only empty strings) </p> <h2 class="groupheader">Macro Definition Documentation</h2> <a id="ga581a03a4de6c926c57b4a75a11214df4"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga581a03a4de6c926c57b4a75a11214df4">§ </a></span>DSTR_INITIALIZER</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DSTR_INITIALIZER   ((struct <a class="el" href="a01073.html">tds_dstr</a>*) &<a class="el" href="a00535.html#ga676fd3c5c489584d09c89d66c7a0af2d">tds_str_empty</a>)</td> </tr> </table> </div><div class="memdoc"> <p>Initializer, used to initialize string like in the following example. </p> <div class="fragment"><div class="line"><a class="code" href="a01073.html">DSTR</a> s = <a class="code" href="a00535.html#ga581a03a4de6c926c57b4a75a11214df4">DSTR_INITIALIZER</a>;</div></div><!-- fragment --> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a id="ga6aa14b8b717b51afcfb65bd55143689d"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga6aa14b8b717b51afcfb65bd55143689d">§ </a></span>tds_dstr_alloc()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> * tds_dstr_alloc </td> <td>(</td> <td class="paramtype"><a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> * </td> <td class="paramname"><em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>length</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>allocate space for length char </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">s</td><td>dynamic string </td></tr> <tr><td class="paramname">length</td><td>new length </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>string allocated or NULL on memory error </dd></dl> </div> </div> <a id="ga8fa35e3ff06ef0b7d0d642cf50282ab8"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga8fa35e3ff06ef0b7d0d642cf50282ab8">§ </a></span>tds_dstr_buf()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static char* tds_dstr_buf </td> <td>(</td> <td class="paramtype"><a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> * </td> <td class="paramname"><em>s</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Returns a buffer to edit the string. </p> <p>Be careful to avoid buffer overflows and remember to set the correct length at the end of the editing if changed. </p> </div> </div> <a id="gad96366d9fa93bfc283cef1299fbe97ab"></a> <h2 class="memtitle"><span class="permalink"><a href="#gad96366d9fa93bfc283cef1299fbe97ab">§ </a></span>tds_dstr_copy()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> * tds_dstr_copy </td> <td>(</td> <td class="paramtype"><a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> * </td> <td class="paramname"><em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>src</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>copy a string from another </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">s</td><td>dynamic string </td></tr> <tr><td class="paramname">src</td><td>source buffer </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>string copied or NULL on memory error </dd></dl> <div class="dynheader"> Here is the call graph for this function:</div> <div class="dyncontent"> <div class="center"><iframe scrolling="no" frameborder="0" src="a00535_gad96366d9fa93bfc283cef1299fbe97ab_cgraph.svg" width="288" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe> </div> </div> <div class="dynheader"> Here is the caller graph for this function:</div> <div class="dyncontent"> <div class="center"><iframe scrolling="no" frameborder="0" src="a00535_gad96366d9fa93bfc283cef1299fbe97ab_icgraph.svg" width="376" height="139"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe> </div> </div> </div> </div> <a id="ga656718f240d7403f986ae887d84a6ca1"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga656718f240d7403f986ae887d84a6ca1">§ </a></span>tds_dstr_copyn()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> * tds_dstr_copyn </td> <td>(</td> <td class="paramtype"><a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> * </td> <td class="paramname"><em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>length</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set string to a given buffer of characters. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">s</td><td>dynamic string </td></tr> <tr><td class="paramname">src</td><td>source buffer </td></tr> <tr><td class="paramname">length</td><td>length of source buffer </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>string copied or NULL on memory error </dd></dl> <div class="dynheader"> Here is the caller graph for this function:</div> <div class="dyncontent"> <div class="center"><iframe scrolling="no" frameborder="0" src="a00535_ga656718f240d7403f986ae887d84a6ca1_icgraph.svg" width="543" height="139"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe> </div> </div> </div> </div> <a id="ga4e6d9fa6f9b9551a5a3390e10a5322e6"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga4e6d9fa6f9b9551a5a3390e10a5322e6">§ </a></span>tds_dstr_dup()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> * tds_dstr_dup </td> <td>(</td> <td class="paramtype"><a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> * </td> <td class="paramname"><em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> * </td> <td class="paramname"><em>src</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Duplicate a string from another dynamic string. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">s</td><td>output string </td></tr> <tr><td class="paramname">src</td><td>source string to copy </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>string copied or NULL on memory error </dd></dl> <div class="dynheader"> Here is the call graph for this function:</div> <div class="dyncontent"> <div class="center"><iframe scrolling="no" frameborder="0" src="a00535_ga4e6d9fa6f9b9551a5a3390e10a5322e6_cgraph.svg" width="282" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe> </div> </div> </div> </div> <a id="gab78cc59b110df2817b00f9bed74c6ff1"></a> <h2 class="memtitle"><span class="permalink"><a href="#gab78cc59b110df2817b00f9bed74c6ff1">§ </a></span>tds_dstr_set()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> * tds_dstr_set </td> <td>(</td> <td class="paramtype"><a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> * </td> <td class="paramname"><em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>src</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>set a string from another buffer. </p> <p>The string will use the supplied buffer (it not copy the string), so it should be a pointer returned by malloc. </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">s</td><td>dynamic string </td></tr> <tr><td class="paramname">src</td><td>source buffer </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>string copied or NULL on memory error </dd></dl> <div class="dynheader"> Here is the call graph for this function:</div> <div class="dyncontent"> <div class="center"><iframe scrolling="no" frameborder="0" src="a00535_gab78cc59b110df2817b00f9bed74c6ff1_cgraph.svg" width="436" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe> </div> </div> </div> </div> <a id="ga0cd7863ba7c2d2da4a193234472a3d14"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga0cd7863ba7c2d2da4a193234472a3d14">§ </a></span>tds_dstr_setlen()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> * tds_dstr_setlen </td> <td>(</td> <td class="paramtype"><a class="el" href="a00434.html#afddddf5bd7ad223cadee3d3bdc899954">DSTR</a> * </td> <td class="paramname"><em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>length</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>limit length of string, MUST be <= current length </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">s</td><td>dynamic string </td></tr> <tr><td class="paramname">length</td><td>new length </td></tr> </table> </dd> </dl> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.12 </small></address> </body> </html>