summaryrefslogtreecommitdiffstats
path: root/cgi.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-03-18 16:48:24 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-03-18 16:48:24 +0000
commit4e42cb141b28105526d861bb64825e369b1a93d1 (patch)
tree9ebb37fd20450cffddc565cbf14fc24b74c5573c /cgi.c
parent76ef8f9092fcac04c1d3c405b5719fdb79bc5987 (diff)
downloadmandoc-4e42cb141b28105526d861bb64825e369b1a93d1.tar.gz
Simplify: write HTTP 303 redirects with relative locations.
Suggested by bentley@. Delete the HTTP_HOST configuration variable that is now obsolete.
Diffstat (limited to 'cgi.c')
-rw-r--r--cgi.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/cgi.c b/cgi.c
index 9f73f918..614d2107 100644
--- a/cgi.c
+++ b/cgi.c
@@ -554,8 +554,8 @@ pg_error_internal(void)
static void
pg_redirect(const struct req *req, const char *name)
{
- printf("Status: 303 See Other\r\n");
- printf("Location: http://%s/", HTTP_HOST);
+ printf("Status: 303 See Other\r\n"
+ "Location: /");
if (*scriptname != '\0')
printf("%s/", scriptname);
if (strcmp(req->q.manpath, req->p[0]))
@@ -591,14 +591,15 @@ pg_searchres(const struct req *req, struct manpage *r, size_t sz)
* If we have just one result, then jump there now
* without any delay.
*/
- printf("Status: 303 See Other\r\n");
- printf("Location: http://%s/%s%s%s/%s",
- HTTP_HOST, scriptname,
- *scriptname == '\0' ? "" : "/",
- req->q.manpath, r[0].file);
- printf("\r\n"
- "Content-Type: text/html; charset=utf-8\r\n"
- "\r\n");
+ printf("Status: 303 See Other\r\n"
+ "Location: /");
+ if (*scriptname != '\0')
+ printf("%s/", scriptname);
+ if (strcmp(req->q.manpath, req->p[0]))
+ printf("%s/", req->q.manpath);
+ printf("%s\r\n"
+ "Content-Type: text/html; charset=utf-8\r\n\r\n",
+ r[0].file);
return;
}