add globbing util function
R=djsollen@google.com Review URL: https://codereview.chromium.org/17881002 git-svn-id: http://skia.googlecode.com/svn/trunk@9774 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
parent
131d4ee0ea
commit
18bbba9a9a
@ -7,6 +7,7 @@
|
||||
|
||||
#include <time.h>
|
||||
#include <dirent.h>
|
||||
#include <glob.h>
|
||||
#include "SkOSFile.h"
|
||||
#include "skpdiff_util.h"
|
||||
|
||||
@ -90,5 +91,27 @@ bool get_directory(const char path[], SkTArray<SkString>* entries) {
|
||||
}
|
||||
}
|
||||
|
||||
closedir(dir);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool glob_files(const char globPattern[], SkTArray<SkString>* entries) {
|
||||
// TODO Make sure this works on windows. This may require use of FindNextFile windows function.
|
||||
glob_t globBuffer;
|
||||
if (glob(globPattern, 0, NULL, &globBuffer) != 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Note these paths are in sorted order by default according to http://linux.die.net/man/3/glob
|
||||
// Check under the flag GLOB_NOSORT
|
||||
char** paths = globBuffer.gl_pathv;
|
||||
while(NULL != *paths) {
|
||||
entries->push_back(SkString(*paths));
|
||||
paths++;
|
||||
}
|
||||
|
||||
globfree(&globBuffer);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -34,5 +34,13 @@ double get_seconds();
|
||||
*/
|
||||
bool get_directory(const char path[], SkTArray<SkString>* entries);
|
||||
|
||||
/**
|
||||
* Gets the files that match the specified pattern in sorted order.
|
||||
* @param globPattern The pattern to use. Patterns must be valid paths, optionally with wildcards (*)
|
||||
* @param entries An array to return the results into
|
||||
* @return True on success, false otherwise
|
||||
*/
|
||||
bool glob_files(const char globPattern[], SkTArray<SkString>* entries);
|
||||
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user