[BACK]Return to cgi.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/cgi.c between version 1.152 and 1.155

version 1.152, 2017/03/18 16:19:11 version 1.155, 2017/06/20 17:24:35
Line 140  html_putchar(char c)
Line 140  html_putchar(char c)
 {  {
   
         switch (c) {          switch (c) {
         case ('"'):          case '"':
                 printf(""");                  printf(""");
                 break;                  break;
         case ('&'):          case '&':
                 printf("&");                  printf("&");
                 break;                  break;
         case ('>'):          case '>':
                 printf(">");                  printf(">");
                 break;                  break;
         case ('<'):          case '<':
                 printf("&lt;");                  printf("&lt;");
                 break;                  break;
         default:          default:
Line 554  pg_error_internal(void)
Line 554  pg_error_internal(void)
 static void  static void
 pg_redirect(const struct req *req, const char *name)  pg_redirect(const struct req *req, const char *name)
 {  {
         printf("Status: 303 See Other\r\n");          printf("Status: 303 See Other\r\n"
         printf("Location: http://%s/", HTTP_HOST);              "Location: /");
         if (*scriptname != '\0')          if (*scriptname != '\0')
                 printf("%s/", scriptname);                  printf("%s/", scriptname);
         if (strcmp(req->q.manpath, req->p[0]))          if (strcmp(req->q.manpath, req->p[0]))
Line 591  pg_searchres(const struct req *req, struct manpage *r,
Line 591  pg_searchres(const struct req *req, struct manpage *r,
                  * If we have just one result, then jump there now                   * If we have just one result, then jump there now
                  * without any delay.                   * without any delay.
                  */                   */
                 printf("Status: 303 See Other\r\n");                  printf("Status: 303 See Other\r\n"
                 printf("Location: http://%s/%s%s%s/%s",                      "Location: /");
                     HTTP_HOST, scriptname,                  if (*scriptname != '\0')
                     *scriptname == '\0' ? "" : "/",                          printf("%s/", scriptname);
                     req->q.manpath, r[0].file);                  if (strcmp(req->q.manpath, req->p[0]))
                 printf("\r\n"                          printf("%s/", req->q.manpath);
                      "Content-Type: text/html; charset=utf-8\r\n"                  printf("%s\r\n"
                      "\r\n");                      "Content-Type: text/html; charset=utf-8\r\n\r\n",
                       r[0].file);
                 return;                  return;
         }          }
   
Line 1072  main(void)
Line 1073  main(void)
   
         if (*path != '\0') {          if (*path != '\0') {
                 parse_path_info(&req, path);                  parse_path_info(&req, path);
                 if (req.q.manpath == NULL || access(path, F_OK) == -1)                  if (req.q.manpath == NULL || req.q.sec == NULL ||
                       *req.q.query == '\0' || access(path, F_OK) == -1)
                         path = "";                          path = "";
         } else if ((querystring = getenv("QUERY_STRING")) != NULL)          } else if ((querystring = getenv("QUERY_STRING")) != NULL)
                 parse_query_string(&req, querystring);                  parse_query_string(&req, querystring);

Legend:
Removed from v.1.152  
changed lines
  Added in v.1.155

CVSweb