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

Diff for /mandoc/mandocdb.c between version 1.78 and 1.79

version 1.78, 2013/12/26 22:12:46 version 1.79, 2013/12/26 22:30:41
Line 88  struct str {
Line 88  struct str {
         char             key[]; /* the string itself */          char             key[]; /* the string itself */
 };  };
   
 struct  id {  struct  inodev {
         ino_t            ino;          ino_t            st_ino;
         dev_t            dev;          dev_t            st_dev;
 };  };
   
 struct  mpage {  struct  mpage {
         struct id        id; /* used for hashing routine */          struct inodev    inodev;  /* used for hashing routine */
         struct mpage    *next; /* next in mpages_list */          struct mpage    *next; /* next in mpages_list */
         enum form        dform; /* path-cued form */          enum form        dform; /* path-cued form */
         enum form        sform; /* suffix-cued form */          enum form        sform; /* suffix-cued form */
Line 324  main(int argc, char *argv[])
Line 324  main(int argc, char *argv[])
         mpages_info.halloc = filename_info.halloc = hash_halloc;          mpages_info.halloc = filename_info.halloc = hash_halloc;
         mpages_info.hfree  = filename_info.hfree  = hash_free;          mpages_info.hfree  = filename_info.hfree  = hash_free;
   
         mpages_info.key_offset = offsetof(struct mpage, id);          mpages_info.key_offset = offsetof(struct mpage, inodev);
         filename_info.key_offset = offsetof(struct mpage, file);          filename_info.key_offset = offsetof(struct mpage, file);
   
         progname = strrchr(argv[0], '/');          progname = strrchr(argv[0], '/');
Line 787  fileadd(struct mpage *mpage)
Line 787  fileadd(struct mpage *mpage)
 static int  static int
 inocheck(const struct stat *st)  inocheck(const struct stat *st)
 {  {
         struct id        id;          struct inodev    inodev;
         uint32_t         hash;          uint32_t         hash;
   
         memset(&id, 0, sizeof(id));          memset(&inodev, 0, sizeof(inodev));
         id.ino = hash = st->st_ino;          inodev.st_ino = hash = st->st_ino;
         id.dev = st->st_dev;          inodev.st_dev = st->st_dev;
   
         return(NULL != ohash_find(&mpages, ohash_lookup_memory(          return(NULL != ohash_find(&mpages, ohash_lookup_memory(
                         &mpages, (char *)&id, sizeof(id), hash)));                          &mpages, (char *)&inodev, sizeof(inodev), hash)));
 }  }
   
 /*  /*
Line 809  inoadd(const struct stat *st, struct mpage *mpage)
Line 809  inoadd(const struct stat *st, struct mpage *mpage)
         uint32_t         hash;          uint32_t         hash;
         unsigned int     slot;          unsigned int     slot;
   
         mpage->id.ino = hash = st->st_ino;          mpage->inodev.st_ino = hash = st->st_ino;
         mpage->id.dev = st->st_dev;          mpage->inodev.st_dev = st->st_dev;
         slot = ohash_lookup_memory          slot = ohash_lookup_memory(&mpages,
                 (&mpages, (char *)&mpage->id, sizeof(mpage->id), hash);              (char *)&mpage->inodev, sizeof(mpage->inodev), hash);
   
         assert(NULL == ohash_find(&mpages, slot));          assert(NULL == ohash_find(&mpages, slot));
         ohash_insert(&mpages, slot, mpage);          ohash_insert(&mpages, slot, mpage);

Legend:
Removed from v.1.78  
changed lines
  Added in v.1.79

CVSweb