cgi_redirect(3)
π« cgi_redirect β the manual page, bestie edition π«
okay so we're doing cgi_redirect(3), which lives in the cgi/cgi.h manual. it's a ClearSilver thing. it's giving "send the people somewhere else on purpose" energy and honestly? iconic.
β¨ NAME β¨
cgi_redirect β send an HTTP 302 redirect response π«Ά
like. you point the user at a different page. that's the whole job. no cap.
β¨ SYNOPSIS β¨
#include <cgi/cgi.h>
void cgi_redirect (CGI *cgi, const char *fmt, ...)
ATTRIBUTE_PRINTF(2,3);
β¨ ARGUMENTS β¨
cgiβ the cgi struct πΈ literally just the cgi struct, she's the main character herefmtβ printf style format with args β¨ yes bestie, it's a format string, we love a format string
β¨ DESCRIPTION β¨
so cgi_redirect will redirect the user to another page on your site π
this version takes only the path portion of the URL. that's it. path only. don't come at her with a whole scheme and hostname, she said path portion and she meant it.
and now the part where you have to listen to me, because this is the vibe check: as with all printf style commands, you should not call this with arbitrary input that may contain % characters π fr fr, % in a format string is not a cute look. if you are forwarding something directly, use a format like this:
cgi_redirect (cgi, "%s", buf)
that way buf is an argument, not a format string, and nothing weird happens. periodt. π
β¨ RETURN VALUE β¨
None π nothing. nada. she does her thing and gives you nothing back. that's the arrangement.
β¨ 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
go read those too, i know you want to π¦
lowkey reminder: path portion only, and never let arbitrary input be your format string. that's the whole plot. π
and that's the page bestie!! π this was ClearSilver, dated 12 July 2007 β yes she's vintage, she's timeless, she ate and left no crumbs ππ
π¦ 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