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

Diff for /mandoc/cgi.c between version 1.85 and 1.88

version 1.85, 2014/07/25 16:56:06 version 1.88, 2014/07/25 18:20:39
Line 148  static void
Line 148  static void
 http_printquery(const struct req *req)  http_printquery(const struct req *req)
 {  {
   
         if (NULL != req->q.manpath) {          if (NULL != req->q.query) {
                 printf("&manpath=");                  printf("query=");
                 http_print(req->q.manpath);                  http_print(req->q.query);
         }          }
           if (0 == req->q.equal)
                   printf("&apropos=1");
         if (NULL != req->q.sec) {          if (NULL != req->q.sec) {
                 printf("&sec=");                  printf("&sec=");
                 http_print(req->q.sec);                  http_print(req->q.sec);
Line 160  http_printquery(const struct req *req)
Line 162  http_printquery(const struct req *req)
                 printf("&arch=");                  printf("&arch=");
                 http_print(req->q.arch);                  http_print(req->q.arch);
         }          }
         if (NULL != req->q.query) {          if (NULL != req->q.manpath &&
                 printf("&query=");              strcmp(req->q.manpath, req->p[0])) {
                 http_print(req->q.query);                  printf("&manpath=");
                   http_print(req->q.manpath);
         }          }
         if (0 == req->q.equal)  
                 printf("&apropos=1");  
 }  }
   
 static void  static void
 html_printquery(const struct req *req)  html_printquery(const struct req *req)
 {  {
   
         if (NULL != req->q.manpath) {          if (NULL != req->q.query) {
                 printf("&manpath=");                  printf("query=");
                 html_print(req->q.manpath);                  html_print(req->q.query);
         }          }
           if (0 == req->q.equal)
                   printf("&apropos=1");
         if (NULL != req->q.sec) {          if (NULL != req->q.sec) {
                 printf("&sec=");                  printf("&sec=");
                 html_print(req->q.sec);                  html_print(req->q.sec);
Line 184  html_printquery(const struct req *req)
Line 187  html_printquery(const struct req *req)
                 printf("&arch=");                  printf("&arch=");
                 html_print(req->q.arch);                  html_print(req->q.arch);
         }          }
         if (NULL != req->q.query) {          if (NULL != req->q.manpath &&
                 printf("&query=");              strcmp(req->q.manpath, req->p[0])) {
                 html_print(req->q.query);                  printf("&manpath=");
                   html_print(req->q.manpath);
         }          }
         if (0 == req->q.equal)  
                 printf("&apropos=1");  
 }  }
   
 static void  static void
Line 455  resp_searchform(const struct req *req)
Line 457  resp_searchform(const struct req *req)
         printf( "</TD><TD>\n"          printf( "</TD><TD>\n"
                 "<INPUT TYPE=\"radio\" ");                  "<INPUT TYPE=\"radio\" ");
         if (req->q.equal)          if (req->q.equal)
                 printf("CHECKED ");                  printf("CHECKED=\"checked\" ");
         printf( "NAME=\"apropos\" ID=\"show\" VALUE=\"0\">\n"          printf( "NAME=\"apropos\" ID=\"show\" VALUE=\"0\">\n"
                 "<LABEL FOR=\"show\">Show named manual page</LABEL>\n");                  "<LABEL FOR=\"show\">Show named manual page</LABEL>\n");
   
         /* Write section selector. */          /* Write section selector. */
   
         printf( "</TD></TR><TR><TD>\n"          puts(   "</TD></TR><TR><TD>\n"
                 "<SELECT NAME=\"sec\">");                  "<SELECT NAME=\"sec\">");
         for (i = 0; i < sec_MAX; i++) {          for (i = 0; i < sec_MAX; i++) {
                 printf("<OPTION VALUE=\"%s\"", sec_numbers[i]);                  printf("<OPTION VALUE=\"%s\"", sec_numbers[i]);
                 if (NULL != req->q.sec &&                  if (NULL != req->q.sec &&
                     0 == strcmp(sec_numbers[i], req->q.sec))                      0 == strcmp(sec_numbers[i], req->q.sec))
                         printf(" SELECTED");                          printf(" SELECTED=\"selected\"");
                 printf(">%s</OPTION>\n", sec_names[i]);                  printf(">%s</OPTION>\n", sec_names[i]);
         }          }
         puts("</SELECT>");          puts("</SELECT>");
Line 477  resp_searchform(const struct req *req)
Line 479  resp_searchform(const struct req *req)
         printf( "<SELECT NAME=\"arch\">\n"          printf( "<SELECT NAME=\"arch\">\n"
                 "<OPTION VALUE=\"default\"");                  "<OPTION VALUE=\"default\"");
         if (NULL == req->q.arch)          if (NULL == req->q.arch)
                 printf(" SELECTED");                  printf(" SELECTED=\"selected\"");
         puts(">All Architectures</OPTION>");          puts(">All Architectures</OPTION>");
         for (i = 0; i < arch_MAX; i++) {          for (i = 0; i < arch_MAX; i++) {
                 printf("<OPTION VALUE=\"%s\"", arch_names[i]);                  printf("<OPTION VALUE=\"%s\"", arch_names[i]);
                 if (NULL != req->q.arch &&                  if (NULL != req->q.arch &&
                     0 == strcmp(arch_names[i], req->q.arch))                      0 == strcmp(arch_names[i], req->q.arch))
                         printf(" SELECTED");                          printf(" SELECTED=\"selected\"");
                 printf(">%s</OPTION>\n", arch_names[i]);                  printf(">%s</OPTION>\n", arch_names[i]);
         }          }
         puts("</SELECT>");          puts("</SELECT>");
Line 496  resp_searchform(const struct req *req)
Line 498  resp_searchform(const struct req *req)
                         printf("<OPTION ");                          printf("<OPTION ");
                         if (NULL == req->q.manpath ? 0 == i :                          if (NULL == req->q.manpath ? 0 == i :
                             0 == strcmp(req->q.manpath, req->p[i]))                              0 == strcmp(req->q.manpath, req->p[i]))
                                 printf("SELECTED ");                                  printf("SELECTED=\"selected\" ");
                         printf("VALUE=\"");                          printf("VALUE=\"");
                         html_print(req->p[i]);                          html_print(req->p[i]);
                         printf("\">");                          printf("\">");
Line 511  resp_searchform(const struct req *req)
Line 513  resp_searchform(const struct req *req)
         printf( "</TD><TD>\n"          printf( "</TD><TD>\n"
                 "<INPUT TYPE=\"radio\" ");                  "<INPUT TYPE=\"radio\" ");
         if (0 == req->q.equal)          if (0 == req->q.equal)
                 printf("CHECKED ");                  printf("CHECKED=\"checked\" ");
         printf( "NAME=\"apropos\" ID=\"search\" VALUE=\"1\">\n"          printf( "NAME=\"apropos\" ID=\"search\" VALUE=\"1\">\n"
                 "<LABEL FOR=\"search\">Search with apropos query</LABEL>\n");                  "<LABEL FOR=\"search\">Search with apropos query</LABEL>\n");
   
Line 569  pg_index(const struct req *req)
Line 571  pg_index(const struct req *req)
         resp_begin_html(200, NULL);          resp_begin_html(200, NULL);
         resp_searchform(req);          resp_searchform(req);
         printf("<P>\n"          printf("<P>\n"
                "This web interface is documented in the "                 "This web interface is documented in the\n"
                "<A HREF=\"%s/mandoc/man8/man.cgi.8\">man.cgi</A> "                 "<A HREF=\"%s/mandoc/man8/man.cgi.8\">man.cgi</A>\n"
                "manual, and the "                 "manual, and the\n"
                "<A HREF=\"%s/mandoc/man1/apropos.1\">apropos</A> "                 "<A HREF=\"%s/mandoc/man1/apropos.1\">apropos</A>\n"
                "manual explains the query syntax.\n"                 "manual explains the query syntax.\n"
                "</P>\n",                 "</P>\n",
                scriptname, scriptname);                 scriptname, scriptname);
Line 874  format(const struct req *req, const char *file)
Line 876  format(const struct req *req, const char *file)
         }          }
   
         snprintf(opts, sizeof(opts), "fragment,man=%s?"          snprintf(opts, sizeof(opts), "fragment,man=%s?"
             "manpath=%s&amp;query=%%N&amp;sec=%%S&amp;arch=%s",              "manpath=%s&query=%%N&sec=%%S%s%s",
             scriptname, req->q.manpath,              scriptname, req->q.manpath,
               req->q.arch ? "&arch=" : "",
             req->q.arch ? req->q.arch : "");              req->q.arch ? req->q.arch : "");
   
         mparse_result(mp, &mdoc, &man, NULL);          mparse_result(mp, &mdoc, &man, NULL);

Legend:
Removed from v.1.85  
changed lines
  Added in v.1.88

CVSweb