1# @ajax/mesh-strbuf
23A growable buffer of bytes, always NUL-terminated so it is text too, with `printf`; `printf` into a new
4string (`mfmt`); `mstrdup`; and allocation that aborts instead of returning NULL. The jobs and blobs
5packages build their wire frames, logs and control answers with it, as the Rust builds `Vec<u8>` and
6`String`.
78## Ported from
910[alpha-rust-mesh](https://github.com/rsafier/alpha-rust-mesh) (Richard Safier, MIT): the C port's
11replacement for Rust's `String`, `Vec<u8>` and `format!`.
1213## Tests
1415`tests/strbuf.c`: appends, growth past a thousand `printf`s, embedded NULs, `msb_take`, `mfmt`.
1617## Licence
1819MIT. See the repository's LICENSE.