summaryrefslogtreecommitdiff
path: root/bin/bbackupquery/BackupQueries.cpp
diff options
context:
space:
mode:
authorChris Wilson <chris+github@qwirx.com>2010-01-31 22:55:01 +0000
committerChris Wilson <chris+github@qwirx.com>2010-01-31 22:55:01 +0000
commit9def4381ffd64f7c3eddb77052048dcb167cd4c5 (patch)
tree7c9559c44581e7a522889106b01a2cef2430791b /bin/bbackupquery/BackupQueries.cpp
parentec2b72d47916eedc28a87dfbc9b3cdbe0c587077 (diff)
Don't try to stat excluded directories, reported by Ben Bennett
[http://lists.boxbackup.org/pipermail/boxbackup/2010-January/000013.html].
Diffstat (limited to 'bin/bbackupquery/BackupQueries.cpp')
-rw-r--r--bin/bbackupquery/BackupQueries.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/bin/bbackupquery/BackupQueries.cpp b/bin/bbackupquery/BackupQueries.cpp
index 687dcb05..1179e04e 100644
--- a/bin/bbackupquery/BackupQueries.cpp
+++ b/bin/bbackupquery/BackupQueries.cpp
@@ -1544,13 +1544,24 @@ void BackupQueries::Compare(int64_t DirID, const std::string &rStoreDir,
continue;
}
+ std::string localDirPath(MakeFullPath(rLocalDir,
+ localDirEn->d_name));
+ std::string storeDirPath(rStoreDir + "/" +
+ localDirEn->d_name);
+
+ if(rParams.IsExcludedDir(localDirPath))
+ {
+ rParams.NotifyExcludedDir(localDirPath,
+ storeDirPath);
+ continue;
+ }
+
#ifndef HAVE_VALID_DIRENT_D_TYPE
- std::string fn(MakeFullPath
- (rLocalDir, localDirEn->d_name));
EMU_STRUCT_STAT st;
- if(EMU_LSTAT(fn.c_str(), &st) != 0)
+ if(EMU_LSTAT(localDirPath.c_str(), &st) != 0)
{
- THROW_EXCEPTION(CommonException, OSFileError)
+ THROW_EXCEPTION_MESSAGE(CommonException,
+ OSFileError, localDirPath);
}
// Entry -- file or dir?