-/* $Id: cgi.c,v 1.18 2014/07/21 15:44:22 schwarze Exp $ */
+/* $Id: cgi.c,v 1.19 2014/07/21 22:32:55 schwarze Exp $ */
/*
* Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2014 Ingo Schwarze <schwarze@usta.de>
static void pg_search(const struct req *);
static void pg_searchres(const struct req *,
struct manpage *, size_t);
-static void pg_show(const struct req *, const char *);
+static void pg_show(struct req *, const char *);
static void resp_begin_html(int, const char *);
static void resp_begin_http(int, const char *);
static void resp_end_html(void);
return;
}
- snprintf(opts, sizeof(opts),
- "fragment,man=%s?query=%%N&sec=%%S",
- scriptname);
+ snprintf(opts, sizeof(opts), "fragment,man=%s?"
+ "manpath=%s&query=%%N&sec=%%S&arch=%s",
+ scriptname, req->q.manpath,
+ req->q.arch ? req->q.arch : "");
mparse_result(mp, &mdoc, &man, NULL);
if (NULL == man && NULL == mdoc) {
}
static void
-pg_show(const struct req *req, const char *path)
+pg_show(struct req *req, const char *path)
{
char *sub;
return;
}
+ if (strcmp(path, "mandoc"))
+ req->q.manpath = path;
+
resp_begin_html(200, NULL);
resp_searchform(req);
resp_show(req, sub);