6 #include <epicsExport.h>
11 epicsShareFunc
int getFileList(
const std::string& dirBase, std::list<std::string>& files)
17 pDir =
opendir(dirBase.c_str());
20 std::cerr <<
"Cannot open directory: " << dirBase << std::endl;
28 files.push_back(read);
33 while ( (pDirent =
readdir(pDir)) != NULL )
35 files.push_back(pDirent->
d_name);
44 epicsShareFunc
int filterList(std::list<std::string>& items,
const std::string& regex)
59 std::cerr <<
"PCRE compilation failed" << std::endl;
63 for (std::list<std::string>::iterator it = items.begin(); it != items.end(); )
65 std::string& item = *it;
66 if(pcre_exec(re, NULL, item.c_str(),
static_cast<int>(item.length()), 0, 0, NULL, NULL) < 0)
epicsShareFunc int filterList(std::list< std::string > &items, const std::string ®ex)
epicsShareFunc struct dirent * readdir(DIR *dir)
epicsShareFunc int getFileList(const std::string &dirBase, std::list< std::string > &files)
returns -1 if unable to open directory, else number of items in directory
epicsShareFunc DIR * opendir(const char *name)
epicsShareFunc int closedir(DIR *dir)