bufdest.xml 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <refentry id="refbufdest">
  2. <refmeta>
  3. <refentrytitle>ne_buffer_destroy</refentrytitle>
  4. <manvolnum>3</manvolnum>
  5. </refmeta>
  6. <refnamediv>
  7. <refname id="ne_buffer_destroy">ne_buffer_destroy</refname>
  8. <refname id="ne_buffer_finish">ne_buffer_finish</refname>
  9. <refpurpose>destroy a buffer object</refpurpose>
  10. </refnamediv>
  11. <refsynopsisdiv>
  12. <funcsynopsis>
  13. <funcsynopsisinfo>#include &lt;ne_string.h&gt;</funcsynopsisinfo>
  14. <funcprototype>
  15. <funcdef>void <function>ne_buffer_destroy</function></funcdef>
  16. <paramdef>ne_buffer *<parameter>buf</parameter></paramdef>
  17. </funcprototype>
  18. <funcprototype>
  19. <funcdef>char *<function>ne_buffer_finish</function></funcdef>
  20. <paramdef>ne_buffer *<parameter>buf</parameter></paramdef>
  21. </funcprototype>
  22. </funcsynopsis>
  23. </refsynopsisdiv>
  24. <refsect1>
  25. <title>Description</title>
  26. <para><function>ne_buffer_destroy</function> frees all memory
  27. associated with the buffer. <function>ne_buffer_finish</function>
  28. frees the buffer structure, but not the actual string stored in the
  29. buffer, which is returned and must be <function>free</function>()d by
  30. the caller.</para>
  31. <para>Any use of the buffer object after calling either of these
  32. functions gives undefined behaviour.</para>
  33. </refsect1>
  34. <refsect1>
  35. <title>Return value</title>
  36. <para><function>ne_buffer_finish</function> returns the
  37. <function>malloc</function>-allocated string stored in the buffer.</para>
  38. </refsect1>
  39. <refsect1>
  40. <title>Examples</title>
  41. <para>An example use of <function>ne_buffer_finish</function>;
  42. the <function>duplicate</function> function returns a string made up of
  43. <parameter>n</parameter> copies of <parameter>str</parameter>:</para>
  44. <programlisting>static char *duplicate(int n, const char *str)
  45. {
  46. ne_buffer *buf = ne_buffer_create();
  47. while (n--) {
  48. ne_buffer_zappend(buf, str);
  49. }
  50. return ne_buffer_finish(buf);
  51. }</programlisting>
  52. </refsect1>
  53. <refsect1>
  54. <title>See also</title>
  55. <para><xref linkend="ne_buffer"/>, <xref linkend="ne_buffer_create"/>,
  56. <xref linkend="ne_buffer_zappend"/></para>
  57. </refsect1>
  58. </refentry>