-// recurseDirectories - Implements the "R" modifier. This function scans through
-// the Paths vector (built by buildPaths, below) and replaces any directories it
-// finds with all the files in that directory (recursively). It uses the
-// sys::Path::getDirectoryContent method to perform the actual directory scans.
-std::set<sys::Path> recurseDirectories(const sys::Path& path) {
- assert(path.isDirectory() && "Oops, can't recurse a file");
- std::set<sys::Path> result;
- if (RecurseDirectories) {
- std::set<sys::Path> content;
- path.getDirectoryContents(content);
- for (std::set<sys::Path>::iterator I = content.begin(), E = content.end();
- I != E; ++I) {
- if (I->isDirectory()) {
- std::set<sys::Path> moreResults = recurseDirectories(*I);
- result.insert(moreResults.begin(), moreResults.end());
- } else {
- result.insert(*I);
- }
- }
- }
- return result;
-}
-