diff --git a/EgtGeneral.rc b/EgtGeneral.rc index 3252eaa..817cf27 100644 Binary files a/EgtGeneral.rc and b/EgtGeneral.rc differ diff --git a/FileUtils.cpp b/FileUtils.cpp index 7cb6550..f298a96 100644 --- a/FileUtils.cpp +++ b/FileUtils.cpp @@ -296,3 +296,28 @@ EraseDirectory( const string& sDir) wstring sDirW = stringtoW( sDir) ; return( ::RemoveDirectoryW( sDirW.c_str()) != FALSE) ; } + +//----------------------------------------------------------------------------- +bool +FindAllDirectories( const string& sDirSpec, STRVECTOR& vsDirNames) +{ + wstring sDirSpecW = stringtoW( sDirSpec) ; + + // cerco i file che soddisfano le specifiche + intptr_t hFile ; + _wfinddata_t c_file ; + if ( ( hFile = _wfindfirst( sDirSpecW.c_str(), &c_file)) != -1L) { + do { + if ( c_file.attrib == _A_SUBDIR) { + string sDir = LPSTR( WtoA( c_file.name)) ; + if ( ! EqualNoCase( sDir, ".") && ! EqualNoCase( sDir, "..")) + vsDirNames.emplace_back( sDir) ; + } + } while( _wfindnext( hFile, &c_file) == 0) ; + _findclose( hFile) ; + errno = 0 ; + return true ; + } + + return false ; +}