fix FileEnumerator again (it was recursing when it shouldn't)

master
John Bartholomew 2012-02-18 09:52:11 +00:00
parent 2aba3b94de
commit c234cec13b
2 changed files with 5 additions and 4 deletions

View File

@ -181,7 +181,7 @@ namespace FileSystem {
void FileEnumerator::Next(int flags)
{
if (flags & Recurse) {
if (flags & RecurseFlag) {
FileInfo head = m_queue.front();
m_queue.pop_front();

View File

@ -173,11 +173,13 @@ namespace FileSystem {
};
class FileEnumerator {
static const int ExcludeFiles = 2;
static const int RecurseFlag = 4;
public:
enum Flags {
IncludeDirectories = 1,
OnlyDirectories = 1|2, // ExcludeFiles = 2
Recurse = 1|4 // can't recurse without including directories (sorry)
OnlyDirectories = IncludeDirectories | ExcludeFiles,
Recurse = IncludeDirectories | RecurseFlag
};
explicit FileEnumerator(FileSource &fs, int flags = 0);
@ -189,7 +191,6 @@ namespace FileSystem {
const FileInfo &Current() const { return m_queue.front(); }
private:
static const int ExcludeFiles = 2;
void Next(int flags);
void Init(const std::string &path);
FileSource *m_source;