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

Diff for /mandoc/cgi.c between version 1.11 and 1.12

version 1.11, 2011/12/07 11:52:36 version 1.12, 2011/12/07 13:00:40
Line 297  resp_begin_html(int code, const char *msg)
Line 297  resp_begin_html(int code, const char *msg)
              " <HEAD>"                                          "\n"               " <HEAD>"                                          "\n"
              "   <META HTTP-EQUIV=\"Content-Type\" "            "\n"               "   <META HTTP-EQUIV=\"Content-Type\" "            "\n"
              "         CONTENT=\"text/html; charset=utf-8\">"   "\n"               "         CONTENT=\"text/html; charset=utf-8\">"   "\n"
                "  <LINK REL=\"stylesheet\" HREF=\"/man.cgi.css\"" "\n"
                "        TYPE=\"text/css\" media=\"all\">"         "\n"
              "  <TITLE>System Manpage Reference</TITLE>"        "\n"               "  <TITLE>System Manpage Reference</TITLE>"        "\n"
              " </HEAD>"                                         "\n"               " </HEAD>"                                         "\n"
              " <BODY>"                                          "\n"               " <BODY>"                                          "\n"
Line 330  resp_searchform(const struct req *req)
Line 332  resp_searchform(const struct req *req)
         printf("<FORM ACTION=\"");          printf("<FORM ACTION=\"");
         html_print(progname);          html_print(progname);
         printf("/search.html\" METHOD=\"get\">\n");          printf("/search.html\" METHOD=\"get\">\n");
         puts(" <FIELDSET>\n"          puts("<FIELDSET>\n"
              "  <INPUT TYPE=\"submit\" VALUE=\"Search:\">");               "<INPUT TYPE=\"submit\" NAME=\"op\" "
         printf("  Terms: <INPUT TYPE=\"text\" "                "VALUE=\"Whatis\"> or \n"
                         "SIZE=\"60\" NAME=\"expr\" VALUE=\"");               "<INPUT TYPE=\"submit\" NAME=\"op\" "
                 "VALUE=\"apropos\"> for manuals satisfying \n"
                "<INPUT TYPE=\"text\" SIZE=\"40\" "
                 "NAME=\"expr\" VALUE=\"");
         html_print(expr);          html_print(expr);
         puts("\">");          puts("\">, section "
         printf("  Section: <INPUT TYPE=\"text\" "               "<INPUT TYPE=\"text\" "
                         "SIZE=\"4\" NAME=\"sec\" VALUE=\"");                "SIZE=\"4\" NAME=\"sec\" VALUE=\"");
         html_print(sec);          html_print(sec);
         puts("\">");          puts("\">, arch "
         printf("  Arch: <INPUT TYPE=\"text\" "               "<INPUT TYPE=\"text\" "
                         "SIZE=\"8\" NAME=\"arch\" VALUE=\"");                "SIZE=\"8\" NAME=\"arch\" VALUE=\"");
         html_print(arch);          html_print(arch);
         puts("\">");          puts("\">.\n"
         puts(" </FIELDSET>\n</FORM>\n<!-- End search form. //-->");               "<INPUT TYPE=\"reset\" VALUE=\"Reset\">\n"
                "</FIELDSET>\n"
                "</FORM>\n"
                "<!-- End search form. //-->");
 }  }
   
 static void  static void
Line 361  resp_error400(void)
Line 369  resp_error400(void)
 {  {
   
         resp_begin_html(400, "Query Malformed");          resp_begin_html(400, "Query Malformed");
         puts("<H1>Malformed Query</H1>\n"          printf("<H1>Malformed Query</H1>\n"
              "<P>\n"                 "<P>\n"
              "  The query your entered was malformed.\n"                 "  The query your entered was malformed.\n"
              "  Try again from the\n"                 "  Try again from the\n"
              "  <A HREF=\"/index.html\">main page</A>\n"                 "  <A HREF=\"%s/index.html\">main page</A>\n"
              "</P>");                 "</P>", progname);
         resp_end_html();          resp_end_html();
 }  }
   
Line 380  resp_error404(const char *page)
Line 388  resp_error404(const char *page)
              "  The page you're looking for, ");               "  The page you're looking for, ");
         printf("  <B>");          printf("  <B>");
         html_print(page);          html_print(page);
         puts("</B>,\n"          printf("</B>,\n"
              "  could not be found.\n"                 "  could not be found.\n"
              "  Try searching from the\n"                 "  Try searching from the\n"
              "  <A HREF=\"/index.html\">main page</A>\n"                 "  <A HREF=\"%s/index.html\">main page</A>\n"
              "</P>");                 "</P>", progname);
         resp_end_html();          resp_end_html();
 }  }
   
Line 423  resp_search(struct res *r, size_t sz, void *arg)
Line 431  resp_search(struct res *r, size_t sz, void *arg)
                 return;                  return;
         }          }
   
         resp_begin_http(200, NULL);          resp_begin_html(200, NULL);
         puts("<!DOCTYPE HTML PUBLIC "                           "\n"  
              " \"-//W3C//DTD HTML 4.01//EN\""                   "\n"  
              " \"http://www.w3.org/TR/html4/strict.dtd\">"      "\n"  
              "<HTML>"                                           "\n"  
              " <HEAD>"                                          "\n"  
              "  <META HTTP-EQUIV=\"Content-Type\" "             "\n"  
              "        CONTENT=\"text/html; charset=utf-8\">"    "\n"  
              "  <LINK REL=\"stylesheet\" HREF=\"/catman.css\""  "\n"  
              "        TYPE=\"text/css\" media=\"all\">"         "\n"  
              "  <TITLE>System Manpage Reference</TITLE>"        "\n"  
              " </HEAD>"                                         "\n"  
              " <BODY>"                                          "\n"  
              "<!-- Begin page content. //-->");  
   
         resp_searchform((const struct req *)arg);          resp_searchform((const struct req *)arg);
   
         if (0 == sz)          if (0 == sz)
Line 484  catman(const char *file)
Line 478  catman(const char *file)
                 return;                  return;
         }          }
   
         resp_begin_html(200, NULL);          resp_begin_http(200, NULL);
           puts("<!DOCTYPE HTML PUBLIC "                           "\n"
                " \"-//W3C//DTD HTML 4.01//EN\""                   "\n"
                " \"http://www.w3.org/TR/html4/strict.dtd\">"      "\n"
                "<HTML>"                                           "\n"
                " <HEAD>"                                          "\n"
                "  <META HTTP-EQUIV=\"Content-Type\" "             "\n"
                "        CONTENT=\"text/html; charset=utf-8\">"    "\n"
                "  <LINK REL=\"stylesheet\" HREF=\"/catman.css\""  "\n"
                "        TYPE=\"text/css\" media=\"all\">"         "\n"
                "  <TITLE>System Manpage Reference</TITLE>"        "\n"
                " </HEAD>"                                         "\n"
                " <BODY>"                                          "\n"
                "<!-- Begin page content. //-->");
   
         puts("<PRE>");          puts("<PRE>");
         while (NULL != (p = fgetln(f, &len))) {          while (NULL != (p = fgetln(f, &len))) {
Line 721  static void
Line 728  static void
 pg_search(const struct manpaths *ps, const struct req *req, char *path)  pg_search(const struct manpaths *ps, const struct req *req, char *path)
 {  {
         size_t            tt;          size_t            tt;
         int               i, sz, rc;          int               i, sz, rc, whatis;
         const char       *ep, *start;          const char       *ep, *start;
         char            **cp;          char            **cp;
         struct opts       opt;          struct opts       opt;
Line 731  pg_search(const struct manpaths *ps, const struct req 
Line 738  pg_search(const struct manpaths *ps, const struct req 
         cp = NULL;          cp = NULL;
         ep = NULL;          ep = NULL;
         sz = 0;          sz = 0;
           whatis = 0;
   
         memset(&opt, 0, sizeof(struct opts));          memset(&opt, 0, sizeof(struct opts));
   
Line 741  pg_search(const struct manpaths *ps, const struct req 
Line 749  pg_search(const struct manpaths *ps, const struct req 
                         opt.cat = req->fields[i].val;                          opt.cat = req->fields[i].val;
                 else if (0 == strcmp(req->fields[i].key, "arch"))                  else if (0 == strcmp(req->fields[i].key, "arch"))
                         opt.arch = req->fields[i].val;                          opt.arch = req->fields[i].val;
                   else if (0 == strcmp(req->fields[i].key, "op"))
                           whatis = 0 == strcasecmp
                                   (req->fields[i].val, "whatis");
   
         /*          /*
          * Poor man's tokenisation.           * Poor man's tokenisation.
Line 770  pg_search(const struct manpaths *ps, const struct req 
Line 781  pg_search(const struct manpaths *ps, const struct req 
          * The resp_search() function is called with the results.           * The resp_search() function is called with the results.
          */           */
   
         if (NULL != (expr = exprcomp(sz, cp, &tt)))          expr = whatis ? termcomp(sz, cp, &tt) :
                           exprcomp(sz, cp, &tt);
   
           if (NULL != expr)
                 rc = apropos_search                  rc = apropos_search
                         (ps->sz, ps->paths, &opt,                          (ps->sz, ps->paths, &opt,
                          expr, tt, (void *)req, resp_search);                           expr, tt, (void *)req, resp_search);

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.12

CVSweb