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

Diff for /mandoc/cgi.c between version 1.18 and 1.19

version 1.18, 2011/12/08 18:39:14 version 1.19, 2011/12/08 22:47:09
Line 424  resp_baddb(void)
Line 424  resp_baddb(void)
 static void  static void
 resp_search(struct res *r, size_t sz, void *arg)  resp_search(struct res *r, size_t sz, void *arg)
 {  {
         int              i;          int              i, whatis;
           const char      *ep, *sec, *arch;
           const struct req *req;
   
           whatis = 1;
           ep = sec = arch = NULL;
   
         if (1 == sz) {          if (1 == sz) {
                 /*                  /*
                  * If we have just one result, then jump there now                   * If we have just one result, then jump there now
Line 439  resp_search(struct res *r, size_t sz, void *arg)
Line 444  resp_search(struct res *r, size_t sz, void *arg)
                 return;                  return;
         }          }
   
           req = (const struct req *)arg;
   
           for (i = 0; i < (int)req->fieldsz; i++)
                   if (0 == strcmp(req->fields[i].key, "expr"))
                           ep = req->fields[i].val;
                   else if (0 == strcmp(req->fields[i].key, "query"))
                           ep = req->fields[i].val;
                   else if (0 == strcmp(req->fields[i].key, "sec"))
                           sec = req->fields[i].val;
                   else if (0 == strcmp(req->fields[i].key, "sektion"))
                           sec = req->fields[i].val;
                   else if (0 == strcmp(req->fields[i].key, "arch"))
                           arch = req->fields[i].val;
                   else if (0 == strcmp(req->fields[i].key, "apropos"))
                           whatis = 0 == strcmp
                                   (req->fields[i].val, "0");
                   else if (0 == strcmp(req->fields[i].key, "op"))
                           whatis = 0 == strcasecmp
                                   (req->fields[i].val, "whatis");
   
         qsort(r, sz, sizeof(struct res), cmp);          qsort(r, sz, sizeof(struct res), cmp);
   
         resp_begin_html(200, NULL);          resp_begin_html(200, NULL);
         resp_searchform((const struct req *)arg);          resp_searchform(req);
   
         if (0 == sz) {          if (0 == sz) {
                 puts("<P>No results found.</P>");                  puts("<P>\n"
                        "No results found.");
                   if (whatis) {
                           printf("(Try <A HREF=\"");
                           html_print(progname);
                           printf("/search.html?op=apropos&amp;expr=");
                           html_print(ep ? ep : "");
                           printf("&amp;sec=");
                           html_print(sec ? sec : "");
                           printf("&amp;arch=");
                           html_print(arch ? arch : "");
                           puts("\">apropos</A>?)");
                   }
                   puts("</P>");
                 resp_end_html();                  resp_end_html();
                 return;                  return;
         }          }

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.19

CVSweb