1 <refentry id="refbufapp"> 2 3 <refmeta> 4 <refentrytitle>ne_buffer_append</refentrytitle> 5 <manvolnum>3</manvolnum> 6 </refmeta> 7 8 <refnamediv> 9 <refname id="ne_buffer_append">ne_buffer_append</refname> 10 <refname id="ne_buffer_zappend">ne_buffer_zappend</refname> 11 <refname id="ne_buffer_concat">ne_buffer_concat</refname> 12 <refpurpose>append data to a string buffer</refpurpose> 13 </refnamediv> 14 15 <refsynopsisdiv> 16 17 <funcsynopsis> 18 19 <funcsynopsisinfo>#include <ne_string.h></funcsynopsisinfo> 20 21 <funcprototype> 22 <funcdef>void <function>ne_buffer_append</function></funcdef> 23 <paramdef>ne_buffer *<parameter>buf</parameter></paramdef> 24 <paramdef>const char *<parameter>string</parameter></paramdef> 25 <paramdef>size_t <parameter>len</parameter></paramdef> 26 </funcprototype> 27 28 <funcprototype> 29 <funcdef>void <function>ne_buffer_zappend</function></funcdef> 30 <paramdef>ne_buffer *<parameter>buf</parameter></paramdef> 31 <paramdef>const char *<parameter>string</parameter></paramdef> 32 </funcprototype> 33 34 <funcprototype> 35 <funcdef>void <function>ne_buffer_concat</function></funcdef> 36 <paramdef>ne_buffer *<parameter>buf</parameter></paramdef> 37 <paramdef>const char *<parameter>str</parameter></paramdef> 38 <paramdef>...</paramdef> 39 </funcprototype> 40 41 </funcsynopsis> 42 43 </refsynopsisdiv> 44 45 <refsect1> 46 <title>Description</title> 47 48 <para>The <function>ne_buffer_append</function> and 49<function>ne_buffer_zappend</function> functions append a string to 50the end of a buffer; extending the buffer as necessary. The 51<parameter>len</parameter> passed to 52<function>ne_buffer_append</function> specifies the length of the 53string to append; there must be no &nul; terminator in the first 54<parameter>len</parameter> bytes of the string. 55<function>ne_buffer_zappend</function> must be passed a 56&nul;-terminated string.</para> 57 58 <para>The <function>ne_buffer_concat</function> function takes 59a variable-length argument list following <parameter>str</parameter>; 60each argument must be a <type>char *</type> pointer to a 61&nul;-terminated string. A &null; pointer must be given as the last 62argument to mark the end of the list. The strings (including 63<parameter>str</parameter>) are appended to the buffer in the order 64given. None of the strings passed to 65<function>ne_buffer_concat</function> are modified.</para> 66 67 </refsect1> 68 69 <refsect1> 70 <title>Examples</title> 71 72 <para>The following code will output "<literal>Hello, world. 73And goodbye.</literal>".</para> 74 75 <programlisting>ne_buffer *buf = ne_buffer_create(); 76ne_buffer_zappend(buf, "Hello"); 77ne_buffer_concat(buf, ", world. ", "And ", "goodbye.", NULL); 78puts(buf->data); 79ne_buffer_destroy(buf);</programlisting> 80 </refsect1> 81 82 <refsect1> 83 <title>See also</title> 84 85 <para><xref linkend="ne_buffer"/>, <xref linkend="ne_buffer_create"/>, 86<xref linkend="ne_buffer_destroy"/></para> 87 </refsect1> 88 89 </refentry> 90