You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Upon file save operations,
should the program, system, or IO fail for any reason,
the Model file should never be left in a partial state or be corrupted.
Note that this does not apply to "exported" files,
such as graphics (SVG), print-save (PDF), or report (MEF XML).
Qt provides QSaveFile for this purpose; however, it implies the use of Qt File API -- not C API.
The core code works with C API
and currently doesn't report C stdio write-function failures.
Moreover, the IO operations are blocking, so there should be some status line messages.
The text was updated successfully, but these errors were encountered:
The IO errors should not be ignored
when file integrity is of concern.
Serialization and reporting are now IO write-failure aware.
For efficiency reasons, the stdio FILE error code is tested
only at the end of XML Streaming in the RAII class destructor.
The IO exceptions are thrown conservatively
only if there are no other exceptions on flight.
More detailed stack unwinding w/ unhandled exception
can be detected in future with C++17 'uncaught_exceptions' function.
Issue #228
This is not the cleanest solution.
The temporary file is created in the same file system directory,
and then rename/move operation is performed.
This approach assumes that user has permission
to create files in the directory.
Moreover, it may mess up the file permission of the original file.
The rename operation will not succeed cleanly
if the original file is a symlink.
In this case, the symlink is replaced with a new file.
Issue #228
Upon file save operations,
should the program, system, or IO fail for any reason,
the Model file should never be left in a partial state or be corrupted.
Note that this does not apply to "exported" files,
such as graphics (SVG), print-save (PDF), or report (MEF XML).
Qt provides QSaveFile for this purpose; however, it implies the use of Qt File API -- not C API.
The core code works with C API
and currently doesn't report C stdio write-function failures.
Moreover, the IO operations are blocking, so there should be some status line messages.
The text was updated successfully, but these errors were encountered: