.BI "void dstr_ensure(dstr *" d ", size_t " sz );
.BI "void dstr_tidy(dstr *" d );
-.BI "void dstr_putc(dstr *" d ", char " ch );
+.BI "void dstr_putc(dstr *" d ", int " ch );
.BI "void dstr_putz(dstr *" d );
.BI "void dstr_puts(dstr *" d ", const char *" s );
.BI "int dstr_vputf(dstr *" d ", va_list *" ap );
.BR sprintf (3)
because the former has to do most of its work itself. In particular,
.B dstr_putf
-doesn't (and probably never will) understand the
+understands the POSIX
.RB ` n$ '
-positional parameter notation accepted by many Unix C libraries. There
-is no macro equivalent of
+positional parameter notation accepted by many Unix C libraries, even if
+the underlying C library does not. There is no macro equivalent of
.BR dstr_putf .
.PP
The function