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

Diff for /mandoc/mandocdb.c between version 1.32 and 1.33

version 1.32, 2011/12/10 16:53:39 version 1.33, 2011/12/10 22:01:06
Line 528  index_merge(const struct of *of, struct mparse *mp,
Line 528  index_merge(const struct of *of, struct mparse *mp,
                 fn = of->fname;                  fn = of->fname;
   
                 /*                  /*
                  * Reclaim an empty index record, if available.                   * Try interpreting the file as mdoc(7) or man(7)
                    * source code, unless it is already known to be
                    * formatted.  Fall back to formatted mode.
                  */                   */
   
                 if (reccur > 0) {  
                         --reccur;  
                         rec = recs[(int)reccur];  
                 } else if (maxrec > 0) {  
                         rec = maxrec;  
                         maxrec = 0;  
                 } else  
                         rec++;  
   
                 mparse_reset(mp);                  mparse_reset(mp);
                 hash_reset(&hash);  
                 mdoc = NULL;                  mdoc = NULL;
                 man = NULL;                  man = NULL;
   
                 /*  
                  * Try interpreting the file as mdoc(7) or man(7)  
                  * source code, unless it is already known to be  
                  * formatted.  Fall back to formatted mode.  
                  */  
   
                 if ((MANDOC_SRC & of->src_form ||                  if ((MANDOC_SRC & of->src_form ||
                     ! (MANDOC_FORM & of->src_form)) &&                      ! (MANDOC_FORM & of->src_form)) &&
                     MANDOCLEVEL_FATAL > mparse_readfd(mp, -1, fn))                      MANDOCLEVEL_FATAL > mparse_readfd(mp, -1, fn))
Line 625  index_merge(const struct of *of, struct mparse *mp,
Line 611  index_merge(const struct of *of, struct mparse *mp,
   
                 sv = dbuf->len;                  sv = dbuf->len;
   
                 /* Fix the record number in the btree value. */                  /*
                    * Collect keyword/mask pairs.
                    * Each pair will become a new btree node.
                    */
   
                   hash_reset(&hash);
                 if (mdoc)                  if (mdoc)
                         pmdoc_node(hash, buf, dbuf,                          pmdoc_node(hash, buf, dbuf,
                                 mdoc_node(mdoc), mdoc_meta(mdoc));                                  mdoc_node(mdoc), mdoc_meta(mdoc));
Line 636  index_merge(const struct of *of, struct mparse *mp,
Line 626  index_merge(const struct of *of, struct mparse *mp,
                         pformatted(hash, buf, dbuf, of);                          pformatted(hash, buf, dbuf, of);
   
                 /*                  /*
                  * Copy from the in-memory hashtable of pending keywords                   * Reclaim an empty index record, if available.
                  * into the database.                   * Use its record number for all new btree nodes.
                  */                   */
   
                   if (reccur > 0) {
                           --reccur;
                           rec = recs[(int)reccur];
                   } else if (maxrec > 0) {
                           rec = maxrec;
                           maxrec = 0;
                   } else
                           rec++;
                 vbuf.rec = htobe32(rec);                  vbuf.rec = htobe32(rec);
   
                   /*
                    * Copy from the in-memory hashtable of pending
                    * keyword/mask pairs into the database.
                    */
   
                 seq = R_FIRST;                  seq = R_FIRST;
                 while (0 == (ch = (*hash->seq)(hash, &key, &val, seq))) {                  while (0 == (ch = (*hash->seq)(hash, &key, &val, seq))) {
                         seq = R_NEXT;                          seq = R_NEXT;

Legend:
Removed from v.1.32  
changed lines
  Added in v.1.33

CVSweb