FIX: not throw when _add_auxiliary_dir_to_archive

Change-Id: Idf54bbbd0ef557ec5e1a8e51ed669a1eb1fb4261
Jira: STUDIO-6339
This commit is contained in:
chunmao.guo 2024-02-28 18:31:14 +08:00 committed by Lane.Wei
parent 6b4a33a196
commit dfcabdb39f
1 changed files with 8 additions and 4 deletions

View File

@ -7637,18 +7637,22 @@ bool _BBS_3MF_Exporter::_add_auxiliary_dir_to_archive(mz_zip_archive &archive, c
int root_dir_len = dir.string().length() + 1;
//boost file access
while (!directories.empty()) {
boost::filesystem::directory_iterator iterator(directories.front());
boost::system::error_code ec;
boost::filesystem::directory_iterator iterator(directories.front(), ec);
directories.pop_front();
for (auto &dir_entry : iterator)
if (ec) continue;
for (; iterator != end(iterator); iterator.increment(ec))
{
if (ec) break;
auto dir_entry = *iterator;
std::string src_file;
std::string dst_in_3mf;
if (boost::filesystem::is_directory(dir_entry.path()))
if (boost::filesystem::is_directory(dir_entry.path(), ec))
{
directories.push_back(dir_entry.path());
continue;
}
if (boost::filesystem::is_regular_file(dir_entry.path()) && !m_skip_auxiliary)
if (boost::filesystem::is_regular_file(dir_entry.path(), ec) && !m_skip_auxiliary)
{
src_file = dir_entry.path().string();
dst_in_3mf = dir_entry.path().string();