version 1.85, 2013/12/27 15:48:09 |
version 1.86, 2013/12/27 16:17:32 |
Line 142 static void filescan(const char *); |
|
Line 142 static void filescan(const char *); |
|
static void *hash_alloc(size_t, void *); |
static void *hash_alloc(size_t, void *); |
static void hash_free(void *, size_t, void *); |
static void hash_free(void *, size_t, void *); |
static void *hash_halloc(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_add(struct mlink *, const struct stat *); |
static void mlink_free(struct mlink *); |
static void mlink_free(struct mlink *); |
static void mpages_free(void); |
static void mpages_free(void); |
|
|
if (warnings) |
if (warnings) |
say(path, "Extraneous file"); |
say(path, "Extraneous file"); |
continue; |
continue; |
} else if (inocheck(ff->fts_statp)) { |
|
if (warnings) |
|
say(path, "Duplicate file"); |
|
continue; |
|
} else if (NULL == (fsec = |
} else if (NULL == (fsec = |
strrchr(ff->fts_name, '.'))) { |
strrchr(ff->fts_name, '.'))) { |
if ( ! use_all) { |
if ( ! use_all) { |
Line 711 filescan(const char *file) |
|
Line 706 filescan(const char *file) |
|
exitcode = (int)MANDOCLEVEL_BADARG; |
exitcode = (int)MANDOCLEVEL_BADARG; |
say(file, "Not a regular file"); |
say(file, "Not a regular file"); |
return; |
return; |
} else if (inocheck(&st)) { |
|
if (warnings) |
|
say(file, "Duplicate file"); |
|
return; |
|
} |
} |
start = buf + strlen(basedir); |
start = buf + strlen(basedir); |
mlink = mandoc_calloc(1, sizeof(struct mlink)); |
mlink = mandoc_calloc(1, sizeof(struct mlink)); |
Line 769 filescan(const char *file) |
|
Line 760 filescan(const char *file) |
|
mlink->name = mandoc_strdup(mlink->name); |
mlink->name = mandoc_strdup(mlink->name); |
|
|
mlink_add(mlink, &st); |
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 |
static void |