cgi_destroy(3)
π cgi_destroy(3) π
okay bestie, so this one lives in the cgi/cgi.h world β it's a ClearSilver joint, and it's literally the cleanup crew of the CGI universe. you built a whole CGI, you did the thing, and now somebody's gotta take out the trash. that's her. that's cgi_destroy. π
β¨ NAME β¨
cgi_destroy β deallocate the data associated with a CGI
no cap, that's the whole gig. she frees the stuff. π§
πΈ SYNOPSIS πΈ
#include <cgi/cgi.h>
void cgi_destroy (CGI **cgi);
so you pull in the header, you call her with a pointer-to-a-pointer, and she returns void β nothing back, she's not here to chat, she's here to clean. π
π¦ ARGUMENTS π¦
cgiβ a pointer to a pointer to aCGIstruct. yes girl, double pointer. that's not a typo, that's the whole bit, and it matters (see RETURN VALUE below, she's about to do something to it π).
π DESCRIPTION π
cgi_destroy will destroy all the data associated with a CGI. all of it. everything. she is thorough and she is not sentimental. π
mostly that means:
- the associated HDF, gone
- removal of any files that were uploaded via
multipart/form-data, also gone
and here's the iconic part, bestie β even in the event of a crash, those files will be deleted. why? because they were unlinked on creation, and they only exist in the first place because of the open file pointer. so the second that pointer situation ends, the files are out. they were never really yours, they were just visiting. πβ¨
π RETURN VALUE π
cgiβNULLon output.
she nulls out your pointer for you on the way out, which is exactly why she needed that pointer-to-a-pointer. she's tidying up and making sure you can't poke at the corpse. thoughtful. π«Ά
π SEE ALSO π
cgi_debug_init(3), cgi_parse(3), cgi_destroy(3), cgi_js_escape(3), cgi_html_escape_strfunc(3), cgi_register_strfuncs(3), cgi_output(3), parse_rfc2388(3), cgi_url_validate(3), open_upload(3), cgi_cs_init(3), cgi_url_escape_more(3), cgi_html_strip_strfunc(3), cgi_neo_error(3), cgi_redirect(3), cgi_filehandle(3), cgi_register_parse_cb(3), cgi_url_escape(3), cgi_init(3), cgi_redirect_uri(3), cgi_cookie_clear(3), cgi_url_unescape(3), cgi_vredirect(3), cgi_display(3), cgi_html_ws_strip(3), cgi_error(3), cgi_cookie_set(3), cgi_text_html_strfunc(3), cgi_cookie_authority
(yes, cgi_cookie_authority is just sitting there at the end with no (3) and no shame. we love her. we respect her. she's built different. π)
and that's the page, babe. this one's brought to you by ClearSilver, dated 12 July 2007 β an actual classic, an OG, still serving cgi_destroy(3) realness. mwah. ππ
π¦ where this page comes from
- debian bookworm: clearsilver-dev 0.10.5-4+b5
- debian trixie: clearsilver-dev 0.10.5-6+b1
- epel 10: clearsilver 0.10.5-80.el10_2 Β· Apache-1.1
- epel 9: clearsilver 0.10.5-74.el9 Β· Apache-1.1
- fedora 43: clearsilver 0.10.5-80.fc43 Β· Apache-1.1
- fedora 44: clearsilver 0.10.5-82.fc44 Β· Apache-1.1
- ubuntu jammy: clearsilver-dev 0.10.5-4build3
- ubuntu noble: clearsilver-dev 0.10.5-4build7
- ubuntu questing: clearsilver-dev 0.10.5-6build1
- ubuntu resolute: clearsilver-dev 0.10.5-7
- ubuntu stonking: clearsilver-dev 0.10.5-7build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms