X-Git-Url: https://git.distorted.org.uk/~mdw/mLib/blobdiff_plain/18c831dcd0ae4d660c70ccac69d27ed2a97851be..882a39c1c269818ed00b1b600180c1d22e8ee0d2:/struct/dstr.3 diff --git a/struct/dstr.3 b/struct/dstr.3 index 28acb04..1aadd35 100644 --- a/struct/dstr.3 +++ b/struct/dstr.3 @@ -53,6 +53,9 @@ dstr \- a simple dynamic string type .nf .B "#include " +.B "typedef struct { ...\& } dstr;" +.B "#define DSTR_INIT ..." + .BI "void dstr_create(dstr *" d ); .BI "void dstr_destroy(dstr *" d ); .BI "void dstr_reset(dstr *" d ); @@ -60,7 +63,7 @@ dstr \- a simple dynamic string type .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 ); @@ -70,7 +73,6 @@ dstr \- a simple dynamic string type .BI "int dstr_putline(dstr *" d ", FILE *" fp ); .BI "size_t dstr_write(const dstr *" d ", FILE *" fp ); -.BI "dstr " d " = DSTR_INIT;" .BI "void DCREATE(dstr *" d ); .BI "void DDESTROY(dstr *" d ); .BI "void DRESET(dstr *" d ); @@ -98,15 +100,7 @@ multiple times. .SS "Underlying type" A .B dstr -object is a small structure with the following members: -.VS -typedef struct dstr { - char *buf; /* Pointer to string buffer */ - size_t sz; /* Size of the buffer */ - size_t len; /* Length of the string */ - arena *a; /* Pointer to arena */ -} dstr; -.VE +object is a small structure with the following members. The .B buf member points to the actual character data in the string. The data may @@ -330,10 +324,10 @@ and .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