aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2013-12-27 16:17:32 +0000
committerIngo Schwarze <schwarze@openbsd.org>2013-12-27 16:17:32 +0000
commit0084e46dc2dc6ff8aea335a3f4089e8bae15abb6 (patch)
treed6f597a70d481fafb439cbe691744cd0af9f0a21
parentc685a4eb0713d42e535a21e602d1bd63db095307 (diff)
downloadmandoc-0084e46dc2dc6ff8aea335a3f4089e8bae15abb6.tar.gz
mandoc-0084e46dc2dc6ff8aea335a3f4089e8bae15abb6.tar.zst
mandoc-0084e46dc2dc6ff8aea335a3f4089e8bae15abb6.zip
Allow saving more than one mlink per mpage in the mlinks ohash.
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.
-rw-r--r--mandocdb.c25
1 files changed, 1 insertions, 24 deletions
diff --git a/mandocdb.c b/mandocdb.c
index 1e749efa..1d81944b 100644
--- a/mandocdb.c
+++ b/mandocdb.c
@@ -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)
{