aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/cgi.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2014-11-26 17:55:27 +0000
committerIngo Schwarze <schwarze@openbsd.org>2014-11-26 17:55:27 +0000
commit137d680fbb0cc234f0fdf04fca6b4658fe5199fa (patch)
treeee55c251188a1d29e9cea7215d13401b023ca814 /cgi.c
parentbd11218f6075c362abe3732f284b777ea01c973e (diff)
downloadmandoc-137d680fbb0cc234f0fdf04fca6b4658fe5199fa.tar.gz
mandoc-137d680fbb0cc234f0fdf04fca6b4658fe5199fa.tar.zst
mandoc-137d680fbb0cc234f0fdf04fca6b4658fe5199fa.zip
Make the code sipler and more robust by always assigning a value
to q.manpath and dropping the (incomplete) later NULL checks.
Diffstat (limited to 'cgi.c')
-rw-r--r--cgi.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/cgi.c b/cgi.c
index 81166e39..65064ab2 100644
--- a/cgi.c
+++ b/cgi.c
@@ -1,4 +1,4 @@
-/* $Id: cgi.c,v 1.101 2014/11/11 19:04:55 schwarze Exp $ */
+/* $Id: cgi.c,v 1.102 2014/11/26 17:55:27 schwarze Exp $ */
/*
* Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2014 Ingo Schwarze <schwarze@usta.de>
@@ -163,8 +163,7 @@ http_printquery(const struct req *req, const char *sep)
printf("%sarch=", sep);
http_print(req->q.arch);
}
- if (NULL != req->q.manpath &&
- strcmp(req->q.manpath, req->p[0])) {
+ if (strcmp(req->q.manpath, req->p[0])) {
printf("%smanpath=", sep);
http_print(req->q.manpath);
}
@@ -298,11 +297,6 @@ next:
if (*qs != '\0')
qs++;
}
-
- /* Fall back to the default manpath. */
-
- if (req->q.manpath == NULL)
- req->q.manpath = mandoc_strdup(req->p[0]);
}
static void
@@ -469,8 +463,7 @@ resp_searchform(const struct req *req)
puts("<SELECT NAME=\"manpath\">");
for (i = 0; i < (int)req->psz; i++) {
printf("<OPTION ");
- if (NULL == req->q.manpath ? 0 == i :
- 0 == strcmp(req->q.manpath, req->p[i]))
+ if (strcmp(req->q.manpath, req->p[i]) == 0)
printf("SELECTED=\"selected\" ");
printf("VALUE=\"");
html_print(req->p[i]);
@@ -1081,8 +1074,9 @@ main(void)
if (NULL != (querystring = getenv("QUERY_STRING")))
http_parse(&req, querystring);
- if ( ! (NULL == req.q.manpath ||
- validate_manpath(&req, req.q.manpath))) {
+ if (req.q.manpath == NULL)
+ req.q.manpath = mandoc_strdup(req.p[0]);
+ else if ( ! validate_manpath(&req, req.q.manpath)) {
pg_error_badrequest(
"You specified an invalid manpath.");
return(EXIT_FAILURE);