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

Diff for /mandoc/mansearch.c between version 1.80 and 1.81

version 1.80, 2018/12/13 11:55:46 version 1.81, 2019/04/30 18:51:57
Line 199  mansearch(const struct mansearch *search,
Line 199  mansearch(const struct mansearch *search,
                         }                          }
                         mpage->names = buildnames(page);                          mpage->names = buildnames(page);
                         mpage->output = buildoutput(outkey, page);                          mpage->output = buildoutput(outkey, page);
                           mpage->bits = search->firstmatch ? rp->bits : 0;
                         mpage->ipath = i;                          mpage->ipath = i;
                         mpage->sec = *page->sect - '0';                          mpage->sec = *page->sect - '0';
                         if (mpage->sec < 0 || mpage->sec > 9)                          if (mpage->sec < 0 || mpage->sec > 9)
Line 294  manmerge_term(struct expr *e, struct ohash *htab)
Line 295  manmerge_term(struct expr *e, struct ohash *htab)
                                 break;                                  break;
                         slot = ohash_lookup_memory(htab,                          slot = ohash_lookup_memory(htab,
                             (char *)&res, sizeof(res.page), res.page);                              (char *)&res, sizeof(res.page), res.page);
                         if ((rp = ohash_find(htab, slot)) != NULL)                          if ((rp = ohash_find(htab, slot)) != NULL) {
                                   rp->bits |= res.bits;
                                 continue;                                  continue;
                           }
                         rp = mandoc_malloc(sizeof(*rp));                          rp = mandoc_malloc(sizeof(*rp));
                         *rp = res;                          *rp = res;
                         ohash_insert(htab, slot, rp);                          ohash_insert(htab, slot, rp);
Line 408  manpage_compare(const void *vp1, const void *vp2)
Line 411  manpage_compare(const void *vp1, const void *vp2)
   
         mp1 = vp1;          mp1 = vp1;
         mp2 = vp2;          mp2 = vp2;
         if ((diff = mp1->sec - mp2->sec))          if ((diff = mp2->bits - mp1->bits) ||
               (diff = mp1->sec - mp2->sec))
                 return diff;                  return diff;
   
         /* Fall back to alphabetic ordering of names. */          /* Fall back to alphabetic ordering of names. */

Legend:
Removed from v.1.80  
changed lines
  Added in v.1.81

CVSweb