kcgi_buf_puts
—
put string content into a kcgi buffer
Appends a NUL-terminated string cp to a buffer
buf. Buffers must be initialised to zero with
memset(3)
prior to first use. Does nothing if cp is
NULL
. It does not append a newline like
puts(3).
Returns an enum kcgi_err indicating the error state.
KCGI_OK
- Success (not an error).
KCGI_ENOMEM
- Internal memory allocation failure.
KCGI_HUP
- The output connection has been terminated. For FastCGI connections, the
current connection should be released with
khttp_free(3)
and parse loop reentered.
KCGI_FORM
- The connection is still expecting headers with
khttp_head(3).
Indicates that
khttp_body(3)
did not return with success or was not invoked. For FastCGI connections,
the current connection should be released with
khttp_free(3)
and parse loop reentered.
KCGI_SYSTEM
- Internal system error writing to the output stream.
The following creates a simple NUL-terminated buffer and outputs its contents.
It does not perform any error checking.
struct kcgi_buf buf;
memset(&buf, 0, sizeof(struct kcgi_buf));
kcgi_buf_puts(&buf, "Hello, world!");
puts(buf.buf); /* Emits "Hello, world!" */
free(buf.buf);