diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2014-07-13 15:38:36 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2014-07-13 15:38:36 +0000 |
commit | f105330f8c9e23c94a433da24c01ff78b5e06613 (patch) | |
tree | b7a81f3805c365427cedf1dac92e44c40580675d /cgi.c | |
parent | e1c43d6711ac3ae9f955128631c8bb0dc69772f8 (diff) | |
download | mandoc-f105330f8c9e23c94a433da24c01ff78b5e06613.tar.gz mandoc-f105330f8c9e23c94a433da24c01ff78b5e06613.tar.zst mandoc-f105330f8c9e23c94a433da24c01ff78b5e06613.zip |
Compatibility hack for the old "manpath=OpenBSD<blank>" query parameter format;
unfortunate, more than 400 links needing this are scattered all around
the www.openbsd.org website, and CVSweb needs this as well.
Diffstat (limited to 'cgi.c')
-rw-r--r-- | cgi.c | 21 |
1 files changed, 16 insertions, 5 deletions
@@ -1,4 +1,4 @@ -/* $Id: cgi.c,v 1.72 2014/07/13 12:55:45 schwarze Exp $ */ +/* $Id: cgi.c,v 1.73 2014/07/13 15:38:36 schwarze Exp $ */ /* * Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2014 Ingo Schwarze <schwarze@usta.de> @@ -250,14 +250,25 @@ http_parse(struct req *req, char *p) if (0 == strcmp(key, "query")) req->q.expr = val; - else if (0 == strcmp(key, "manpath")) + else if (0 == strcmp(key, "manpath")) { +#ifdef COMPAT_OLDURI + if (0 == strncmp(val, "OpenBSD ", 8)) { + val[7] = '-'; + if ('C' == val[8]) + val[8] = 'c'; + } +#endif req->q.manpath = val; - else if (0 == strcmp(key, "apropos")) + } else if (0 == strcmp(key, "apropos")) req->q.equal = !strcmp(val, "0"); - else if (0 == strcmp(key, "sec") || - 0 == strcmp(key, "sektion")) { + else if (0 == strcmp(key, "sec")) { if (strcmp(val, "0")) req->q.sec = val; +#ifdef COMPAT_OLDURI + } else if (0 == strcmp(key, "sektion")) { + if (strcmp(val, "0")) + req->q.sec = val; +#endif } else if (0 == strcmp(key, "arch")) { if (strcmp(val, "default")) req->q.arch = val; |