-/* $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>
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);
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) {
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));
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)
{