X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=packages%2Fstd%2Fsrc%2FbbstdFilesFromDirectory.cxx;h=e444b9ba1a84291479c94335389004a9c255b16d;hb=84454af9be8cecfbf41ca7c0198c65efe60f9b48;hp=5f8feb37b04ff2457e740bfa8fab730726478bd3;hpb=433d792763e9cebb963243fbd49fff719f69ed4a;p=bbtk.git diff --git a/packages/std/src/bbstdFilesFromDirectory.cxx b/packages/std/src/bbstdFilesFromDirectory.cxx index 5f8feb3..e444b9b 100644 --- a/packages/std/src/bbstdFilesFromDirectory.cxx +++ b/packages/std/src/bbstdFilesFromDirectory.cxx @@ -47,18 +47,14 @@ BBTK_BLACK_BOX_IMPLEMENTATION(FilesFromDirectory,bbtk::AtomicBlackBox); void FilesFromDirectory::Process() { -printf("EED FilesFromDirectory::Process Start\n"); - Filenames.clear(); SimpleFilenames.clear(); DirName = bbGetInputIn(); bool rec = bbGetInputRecursive(); /*int nbFiles = */ Explore(DirName, rec); - CleanFilenames( bbGetInputIn() ); + CleanFilenames( DirName ); bbSetOutputOut(Filenames); bbSetOutputOutSimple(SimpleFilenames); - -printf("EED FilesFromDirectory::Process End\n"); } void FilesFromDirectory::bbUserSetDefaultValues() @@ -91,7 +87,7 @@ std::string FilesFromDirectory::NormalizePath(std::string const &pathname) std::string name = pathname; int size = name.size(); - if ( name[size-1] != FILESEPARATOR ) + if (!((name[size-1]=='/')||(name[size-1]=='\\'))) { name += FILESEPARATOR; } @@ -143,7 +139,16 @@ int FilesFromDirectory::Explore(std::string const &dirpath, bool recursive) } // Type Lsast_directories numberOfFiles = numberOfFiles + tmpNumberOfFiles; - } // if + } // if recursive + if ( fileName != "." && fileName != ".." && !recursive ) + { + if ((bbGetInputType()==1) || (bbGetInputType()==2)) + { + std::string temp = dirName+fileName; + Filenames.push_back(temp); + numberOfFiles++; + } // Type All_directories + }// fileName && !recursive } else { // std::string temp = "\"" +dirName+fileName + "\""; std::string temp = dirName+fileName; @@ -236,7 +241,7 @@ int FilesFromDirectory::Explore(std::string const &dirpath, bool recursive) } // Type files } // d_name } else if ( S_ISDIR(buf.st_mode) ) { //directory? - if ( d->d_name[0] != '.' && recursive ) //we also skip hidden files + if ( (d->d_name[0]!='.') && recursive ) //we also skip hidden files { if (bbGetInputType()==1) { @@ -251,7 +256,16 @@ int FilesFromDirectory::Explore(std::string const &dirpath, bool recursive) numberOfFiles++; } // Type Lsast_directories numberOfFiles = numberOfFiles+tmpNumberOfFiles; - } // d_name + }// d_name && recursive + if ( (d->d_name[0]!='.') && !recursive ) { //we also skip hidden files + if ((bbGetInputType()==1) || (bbGetInputType()==2)) + { + Filenames.push_back(fileName); + numberOfFiles++; + } // Type All_directories + + }// d_name && !recursive + } else { //gdcmErrorMacro( "Unexpected error" ); return -1;