#include "bbstdFilesFromDirectory.h" #include "bbstdPackage.h" #include #ifdef _MSC_VER #include #include #else #include #include #endif #include //stat function namespace bbstd { BBTK_ADD_BLACK_BOX_TO_PACKAGE(std,FilesFromDirectory) BBTK_BLACK_BOX_IMPLEMENTATION(FilesFromDirectory,bbtk::AtomicBlackBox); void FilesFromDirectory::Process() { DirName = bbGetInputIn(); bool rec = bbGetInputRecursive(); /*int nbFiles = */ Explore(DirName, rec); bbSetOutputOut(Filenames); // for (int i=0; id_name; std::string temp = fileName; if( stat(fileName.c_str(), &buf) != 0 ) { //gdcmErrorMacro( strerror(errno) ); } if ( S_ISREG(buf.st_mode) ) //is it a regular file? { if ( d->d_name[0]!='.') { std::string::size_type /* long int */ spacePosition = temp.find_first_of(' '); if (spacePosition != std::string::npos) { std::cout << "=========================================== File name : [" <d_name[0] != '.' && recursive ) //we also skip hidden files { numberOfFiles += Explore( fileName, recursive); } } else { //gdcmErrorMacro( "Unexpected error" ); return -1; } } if( closedir(dir) != 0 ) { //gdcmErrorMacro( strerror(errno) ); } #endif return numberOfFiles; } } // EO namespace bbstd