KJSON_OBJ_CLOSE(3)
π KJSON_OBJ_CLOSE(3) β library functions manual, but make it cute π
okay so bestie, welcome to the KJSON_OBJ_CLOSE(3) glow-up β¨ this is the library functions manual page for kjson_obj_close, and it's lowkey iconic. let's get into it π
π NAME π
kjson_obj_close β open object scope for kcgijson
π LIBRARY π
library βlibkcgijsonβ
β¨ SYNOPSIS β¨
#include <sys/types.h>
#include <stdarg.h>
#include <stdint.h>
#include <kcgi.h>
#include <kcgijson.h>
enum kcgi_err
kjson_obj_close(struct kjsonreq *req);
π DESCRIPTION π
So this one closes an object scope that was created with kjson_obj_open(3) or kjson_objp_open(3), inside a context req that was initialised with khtml_open(3). that's the whole vibe π«Ά
β οΈ and listen: it is an error to close a non-object scope. that's a hard no, bestie β not the move. periodt.
π RETURN VALUES π
It returns an enum kcgi_err that tells you the error state, so you can vibe check what happened π
KCGI_OKβ Success (not an error). slay βKCGI_ENOMEMβ Internal memory allocation failure. the allocator said nope πKCGI_HUPβ The output connection has been terminated. For FastCGI connections, the current connection should be released withkhttp_free(3)and parse loop reentered.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.KCGI_SYSTEMβ Internal system error writing to the output stream. not the system acting up π©KCGI_WRITERβ The current scope is not an object. wrong scope energy, fr fr π
π¦ EXAMPLES π¦
The following outputs a simple JSON document. It assumes r is a struct kreq pointer. For brevity, it does not do any error checking.
khttp_head(r, kresps[KRESP_STATUS],
"%s", khttps[KHTTP_200]);
khttp_head(r, kresps[KRESP_CONTENT_TYPE],
"%s", kmimetypes[KMIME_APP_JSON]);
khttp_body(r);
kjson_open(&req, r);
kjson_obj_open(&req);
kjson_objp_open(&req, "foo");
kjson_putstringp(&req, "data", "shbar");
kjson_obj_close(&req); /* foo */
kjson_objp_open(&req, "bar");
kjson_putstringp(&req, "data", "xyzzy");
kjson_obj_close(&req); /* bar */
kjson_close(&req);
π SEE ALSO π
π AUTHORS π
Written by Kristaps Dzonsons <kristaps@bsd.lv>.
okay bye bestie π β this is from Debian, stamped $Mdocdate$, and the page is KJSON_OBJ_CLOSE(3). mwah π«Ά
π¦ 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