diff --git a/simgear/package/Catalog.cxx b/simgear/package/Catalog.cxx index b698a0c3..3b9514b5 100644 --- a/simgear/package/Catalog.cxx +++ b/simgear/package/Catalog.cxx @@ -143,9 +143,15 @@ protected: Dir d(m_owner->installRoot()); SGPath p = d.file("catalog.xml"); sg_ofstream f(p, std::ios::out | std::ios::trunc); - f.write(m_buffer.data(), m_buffer.size()); + const auto sz = m_buffer.size(); + f.write(m_buffer.data(), sz); f.close(); + if (f.fail()) { + m_owner->refreshComplete(Delegate::FAIL_FILESYSTEM); + return; + } + time(&m_owner->m_retrievedTime); m_owner->writeTimestamp(); m_owner->refreshComplete(Delegate::STATUS_REFRESHED);