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; int root_dir_len = dir.string().length() + 1;
//boost file access //boost file access
while (!directories.empty()) { 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(); 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 src_file;
std::string dst_in_3mf; 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()); directories.push_back(dir_entry.path());
continue; 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(); src_file = dir_entry.path().string();
dst_in_3mf = dir_entry.path().string(); dst_in_3mf = dir_entry.path().string();