diff options
Diffstat (limited to 'indra/llvfs/lldir.h')
-rw-r--r-- | indra/llvfs/lldir.h | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/indra/llvfs/lldir.h b/indra/llvfs/lldir.h index 883e87a8fd..42996fd051 100644 --- a/indra/llvfs/lldir.h +++ b/indra/llvfs/lldir.h @@ -76,9 +76,9 @@ class LLDir virtual U32 countFilesInDir(const std::string &dirname, const std::string &mask) = 0; /// Walk the files in a directory, with file pattern matching - virtual BOOL getNextFileInDir(const std::string &dirname, ///< directory path - must end in trailing slash! - const std::string &mask, ///< file pattern string (use "*" for all) - std::string &fname ///< found file name + virtual BOOL getNextFileInDir(const std::string& dirname, ///< directory path - must end in trailing slash! + const std::string& mask, ///< file pattern string (use "*" for all) + std::string& fname ///< output: found file name ) = 0; /**< * @returns true if a file was found, false if the entire directory has been scanned. @@ -86,12 +86,18 @@ class LLDir * @note that this function is NOT thread safe * * This function may not be used to scan part of a directory, then start a new search of a different - * directory, and then restart the first search where it left off. - * @bug: this is known to fail at least on MacOS with patterns that have both: - * a wildcard left of the . and more than one sequential ? right of the . + * directory, and then restart the first search where it left off; the entire search must run to + * completion or be abandoned - there is no restart. + * + * @bug: See http://jira.secondlife.com/browse/VWR-23697 + * and/or the tests in test/lldir_test.cpp + * This is known to fail with patterns that have both: + * a wildcard left of a . and more than one sequential ? right of a . * the pattern foo.??x appears to work * but *.??x or foo?.??x do not - * @todo this really should be rewritten as an iterator object. + * + * @todo this really should be rewritten as an iterator object, and the + * filtering should be done in a platform-independent way. */ virtual std::string getCurPath() = 0; |