prevent find from ever descending into an xdev'ed directory.

This commit is contained in:
Paul Fox 2006-03-27 16:42:33 +00:00
parent 3570915769
commit 8416a2d558

View File

@ -79,6 +79,15 @@ static int exec_opt;
static int fileAction(const char *fileName, struct stat *statbuf, void* junk)
{
#ifdef CONFIG_FEATURE_FIND_XDEV
if (S_ISDIR(statbuf->st_mode) && xdev_count) {
int i;
for (i=0; i<xdev_count; i++) {
if (xdev_dev[i] != statbuf->st_dev)
return SKIP;
}
}
#endif
if (pattern != NULL) {
const char *tmp = strrchr(fileName, '/');
@ -125,21 +134,6 @@ static int fileAction(const char *fileName, struct stat *statbuf, void* junk)
goto no_match;
}
#endif
#ifdef CONFIG_FEATURE_FIND_XDEV
if (xdev_count) {
int i;
for (i=0; i<xdev_count; i++) {
if (xdev_dev[i] == statbuf-> st_dev)
break;
}
if (i == xdev_count) {
if(S_ISDIR(statbuf->st_mode))
return SKIP;
else
goto no_match;
}
}
#endif
#ifdef CONFIG_FEATURE_FIND_NEWER
if (newer_mtime != 0) {
time_t file_age = newer_mtime - statbuf->st_mtime;