Commit beb5cc91 authored by Ivan Dokunov's avatar Ivan Dokunov

Minor edits in other iterators

parent a342d806
......@@ -27,16 +27,15 @@ const char *CFileExtrPathsIterator::next()
//Сохраняем HANDLE файла, что бы можно было продожлить с того места
m_handle = hf;
//По стандарту FindNextFile находит .. (корневую директорию)
if (!strcmp(FindFileData.cFileName, "..") || !strcmp(FindFileData.cFileName, "."))
{
continue;
}
m_pathStr = (*m_paths)[index] + FindFileData.cFileName;
m_pathStr = (*m_paths)[index] + "/" + FindFileData.cFileName;
DWORD flag = GetFileAttributes(m_pathStr.c_str());
//Возвращаем полный путь, вместе с именем файла и расширением
return m_pathStr.c_str();
if (flag != INVALID_FILE_ATTRIBUTES && !(flag & FILE_ATTRIBUTE_DIRECTORY))
{
//Возвращаем полный путь, вместе с именем файла и расширением
return m_pathStr.c_str();
}
}
++index;
FIND_CLOSE(m_handle);
......
......@@ -30,18 +30,15 @@ const char *CFileExtIterator::next()
//Сохраняем HANDLE файла, что бы можно было продожлить с того места
m_handle = hf;
/*В папке может быть максимум один "..". Следовательно можно добавить оптимизацию
на то что если в папке уже нашли один ".." то делать проверку на его наличие бессмысленно
TODO: сделать оптимизацию позже */
if (!strcmp(FindFileData.cFileName, "..") || !strcmp(FindFileData.cFileName, "."))
{
continue;
}
m_pathStr = m_sPath + FindFileData.cFileName;
//Возвращаем полный путь, вместе с именем файла и расширением
return m_pathStr.c_str();
DWORD flag = GetFileAttributes(m_pathStr.c_str());
if (flag != INVALID_FILE_ATTRIBUTES && !(flag & FILE_ATTRIBUTE_DIRECTORY))
{
//Возвращаем полный путь, вместе с именем файла и расширением
return m_pathStr.c_str();
}
}
}
......
......@@ -12,7 +12,6 @@ class CFileExtrPathsIterator final : public IFileSystem::IFileIterator
{
private:
Array<String>* m_paths;
String m_szPath;
String m_pathStr;
int index = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment