]> git.cameronkatri.com Git - mandoc.git/commitdiff
Allow saving more than one mlink per mpage in the mlinks ohash.
authorIngo Schwarze <schwarze@openbsd.org>
Fri, 27 Dec 2013 16:17:32 +0000 (16:17 +0000)
committerIngo Schwarze <schwarze@openbsd.org>
Fri, 27 Dec 2013 16:17:32 +0000 (16:17 +0000)
We are still only using one of them for now.
Actually, we are now using a different one,
but the order the mlinks are found is random anyway.

mandocdb.c

index 1e749efa0a2a44de1b8338883198832a365aa7f6..1d81944b0604913369bc7bd8d14a4abb65b1e578 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mandocdb.c,v 1.85 2013/12/27 15:48:09 schwarze Exp $ */
+/*     $Id: mandocdb.c,v 1.86 2013/12/27 16:17:32 schwarze Exp $ */
 /*
  * Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2011, 2012, 2013 Ingo Schwarze <schwarze@openbsd.org>
@@ -142,7 +142,6 @@ static      void     filescan(const char *);
 static void    *hash_alloc(size_t, void *);
 static void     hash_free(void *, size_t, void *);
 static void    *hash_halloc(size_t, void *);
-static int      inocheck(const struct stat *);
 static void     mlink_add(struct mlink *, const struct stat *);
 static void     mlink_free(struct mlink *);
 static void     mpages_free(void);
@@ -558,10 +557,6 @@ treescan(void)
                                if (warnings)
                                        say(path, "Extraneous file");
                                continue;
-                       } else if (inocheck(ff->fts_statp)) {
-                               if (warnings)
-                                       say(path, "Duplicate file");
-                               continue;
                        } else if (NULL == (fsec =
                                        strrchr(ff->fts_name, '.'))) {
                                if ( ! use_all) {
@@ -711,10 +706,6 @@ filescan(const char *file)
                exitcode = (int)MANDOCLEVEL_BADARG;
                say(file, "Not a regular file");
                return;
-       } else if (inocheck(&st)) {
-               if (warnings)
-                       say(file, "Duplicate file");
-               return;
        }
        start = buf + strlen(basedir);
        mlink = mandoc_calloc(1, sizeof(struct mlink));
@@ -771,20 +762,6 @@ filescan(const char *file)
        mlink_add(mlink, &st);
 }
 
-static int
-inocheck(const struct stat *st)
-{
-       struct inodev    inodev;
-       uint32_t         hash;
-
-       memset(&inodev, 0, sizeof(inodev));
-       inodev.st_ino = hash = st->st_ino;
-       inodev.st_dev = st->st_dev;
-
-       return(NULL != ohash_find(&mpages, ohash_lookup_memory(
-                       &mpages, (char *)&inodev, sizeof(inodev), hash)));
-}
-
 static void
 mlink_add(struct mlink *mlink, const struct stat *st)
 {