.B dstr
and must hold when any function is called:
.hP \*o
-If
+If
.B sz
is nonzero, then
.B buf
.SS "Creation and destruction"
The caller is responsible for allocating the
.B dstr
-structure. It can be initialized in any of the following ways:
+structure. It can be initialized:
.hP \*o
-Using the macro
+using the macro
.B DSTR_INIT
-as an initializer in the declaration of the object.
+as an initializer in the declaration of the object,
.hP \*o
-Passing its address to the
+passing its address to the
.B dstr_create
-function.
+function, or
.hP \*o
-Passing its address to the (equivalent)
+passing its address to the (equivalent)
.B DCREATE
macro.
.PP
.SS "Extending a string"
All memory allocation for strings is done by the function
.BR dstr_ensure .
-Given a pointer
+Given a pointer
.I d
to a
.B dstr
.B EXC_NOMEM
is raised. See
.BR exc (3)
-for more information about
+for more information about
.BR mLib 's
exception handling system.
.PP
.BR exc (3),
.BR mLib (3).
.SH AUTHOR
-Mark Wooding, <mdw@nsict.org>
+Mark Wooding, <mdw@distorted.org.uk>