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

Diff for /mandoc/Attic/apropos_db.c between version 1.23 and 1.24

version 1.23, 2011/12/10 21:46:59 version 1.24, 2011/12/16 12:06:35
Line 365  index_read(const DBT *key, const DBT *val, int index,
Line 365  index_read(const DBT *key, const DBT *val, int index,
 {  {
         size_t           left;          size_t           left;
         char            *np, *cp;          char            *np, *cp;
           char             type;
   
 #define INDEX_BREAD(_dst) \  #define INDEX_BREAD(_dst) \
         do { \          do { \
Line 375  index_read(const DBT *key, const DBT *val, int index,
Line 376  index_read(const DBT *key, const DBT *val, int index,
                 cp = np + 1; \                  cp = np + 1; \
         } while (/* CONSTCOND */ 0)          } while (/* CONSTCOND */ 0)
   
         left = val->size;          if (0 == (left = val->size))
         cp = (char *)val->data;                  return(0);
   
           cp = val->data;
         rec->res.rec = *(recno_t *)key->data;          rec->res.rec = *(recno_t *)key->data;
         rec->res.volume = index;          rec->res.volume = index;
   
         INDEX_BREAD(rec->res.type);          if ('d' == (type = *cp++))
                   rec->res.type = RESTYPE_MDOC;
           else if ('a' == type)
                   rec->res.type = RESTYPE_MAN;
           else if ('c' == type)
                   rec->res.type = RESTYPE_CAT;
           else
                   return(0);
   
           left--;
         INDEX_BREAD(rec->res.file);          INDEX_BREAD(rec->res.file);
         INDEX_BREAD(rec->res.cat);          INDEX_BREAD(rec->res.cat);
         INDEX_BREAD(rec->res.title);          INDEX_BREAD(rec->res.title);
Line 581  static void
Line 592  static void
 recfree(struct rec *rec)  recfree(struct rec *rec)
 {  {
   
         free(rec->res.type);  
         free(rec->res.file);          free(rec->res.file);
         free(rec->res.cat);          free(rec->res.cat);
         free(rec->res.title);          free(rec->res.title);

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.24

CVSweb