.BI "void dstr_putz(dstr *" d );
.BI "void dstr_puts(dstr *" d ", const char *" s );
.BI "int dstr_vputf(dstr *" d ", va_list " ap );
-.BI "int dstr_putf(dstr *" d ", ...);
+.BI "int dstr_putf(dstr *" d ", ...);"
.BI "void dstr_putd(dstr *" d ", const dstr *" p );
.BI "void dstr_putm(dstr *" d ", const void *" p ", size_t " sz );
.BI "int dstr_putline(dstr *" d ", FILE *" fp );
At all times,
.BI sz " >= " len\fR.
.PP
-Note that there is no equaivalent of the standard C distinction between
+Note that there is no equivalent of the standard C distinction between
the empty string (a pointer to an array of characters whose first
-element is zero) and the nonexistant string (a null pointer). Any
+element is zero) and the nonexistent string (a null pointer). Any
.B dstr
whose
.B len
function empties a string
.I without
deallocating any memory. Therefore appending more characters is quick,
-beause the old buffer is still there and doesn't need to be allocated.
+because the old buffer is still there and doesn't need to be allocated.
Calling
.VS
dstr_reset(d);
.VE
-is equivalent to directly assinging
+is equivalent to directly assigning
.VS
d->len = 0;
.VE
`trims' a string's buffer so that it's just large enough for the string
contents and a null terminating byte. This might raise an exception due
to lack of memory. (There are two possible ways this might happen.
-Firstly, the underlying allocator might just be braindamaged enough to
+Firstly, the underlying allocator might just be brain-damaged enough to
fail on reducing a block's size. Secondly, tidying an empty string with no
buffer allocated for it causes allocation of a buffer large enough for
the terminating null byte.)
.B dstr_putf
doesn't (and probably never will) understand the
.RB ` n$ '
-positional paramter notation accepted by many Unix C libraries. There
+positional parameter notation accepted by many Unix C libraries. There
is no macro equivalent of
.BR dstr_putf .
.PP
.B DWRITE
is equivalent.
.SH "SECURITY CONSIDERATIONS"
-The implemenetation of the
+The implementation of the
.B dstr
functions is designed to do string handling in security-critical
programs. However, there may be bugs in the code somewhere. In