kcgi_buf_printf
—
put variable content into a kcgi buffer
Appends output according to the given fmt to a buffer
buf. The format is as for
printf(3).
Buffers must be initialised to zero with
memset(3)
prior to first use.
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_printf(&buf, "number %d", 1);
puts(buf.buf); /* Emits "number 1" */
free(buf.buf);