KHTML_INT(3)
π KHTML_INT(3) π
okay so bestie, this is a page from the Library Functions Manual and it's all about khtml_double β the girl whose whole job is putting floating point content on the page for kcgihtml. she's small, she's focused, she slays. β¨
π NAME π
khtml_double β put floating point content for kcgihtml
π LIBRARY π
she lives in the library βlibkcgihtmlβ, no cap.
πΈ SYNOPSIS πΈ
like, here's the whole vibe upfront:
#include <sys/types.h>
#include <stdarg.h>
#include <stdint.h>
#include <kcgi.h>
#include <kcgihtml.h>
enum kcgi_err
khtml_double(struct khtmlreq *req, double v);
β¨ DESCRIPTION β¨
So what does she do? She writes a double-precision floating point v into a context req that you already initialised with khtml_open(3). that's it, that's the whole gig π
and the way she formats that value? using the "g" format character of printf(3). iconic behaviour, honestly β she's literally letting printf(3) do the styling.
π₯ RETURN VALUES π₯
She returns an enum kcgi_err telling you the error state β like a little vibe check for how the write went π«Ά
KCGI_OKβ Success (not an error). we love a win πKCGI_ENOMEMβ Internal memory allocation failure. the malloc said no πKCGI_HUPβ The output connection has been terminated. For FastCGI connections, the current connection should be released withkhttp_free(3)and parse loop reentered. girl hung up on you πKCGI_FORMβ The connection is still expecting headers withkhttp_head(3). Indicates thatkhttp_body(3)did not return with success or was not invoked. For FastCGI connections, the current connection should be released withkhttp_free(3)and parse loop reentered. she's waiting on her headers, be so fr π₯²KCGI_SYSTEMβ Internal system error writing to the output stream. not her fault, the system is being messy π
π¦ EXAMPLES π¦
The following outputs a simple HTML page. It assumes r is a struct kreq pointer. For brevity, it does not do any error checking β which, ngl, is a little risky but we're keeping the example short and cute π
khttp_head(r, kresps[KRESP_STATUS],
"%s", khttps[KHTTP_200]);
khttp_head(r, kresps[KRESP_CONTENT_TYPE],
"%s", kmimetypes[KMIME_TEXT_HTML]);
khttp_body(r);
khtml_open(&req, r, 0);
khtml_elem(&req, KELEM_DOCTYPE);
khtml_elem(&req, KELEM_HTML);
khtml_elem(&req, KELEM_BODY);
khtml_elem(&req, KELEM_P);
khtml_double(&req, 123.45);
khtml_close(&req);
see that 123.45? that's her moment. main character energy, fr fr π
π SEE ALSO π
iykyk π§
π STANDARDS π
The referenced HTML5 standard is HTML5.2: https://www.w3.org/TR/html52. go off, standards girlies π
π AUTHORS π
Written by Kristaps Dzonsons <kristaps@bsd.lv>. absolute icon, we stan π
and lastly, the little credit at the bottom: this page comes from Debian, dated $Mdocdate$, and it's officially KHTML_INT(3) β that's a wrap bestie, go write some doubles π
β¨π
π¦ where this page comes from
- alpine 3.24: kcgi-doc 1.0.1-r0 Β· ISC
- Copyright (c) 2020 Kristaps Dzonsons <kristaps@bsd.lv>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms