diff --git a/src/App/PropertyFile.cpp b/src/App/PropertyFile.cpp index e1e4ade91..13599c88a 100644 --- a/src/App/PropertyFile.cpp +++ b/src/App/PropertyFile.cpp @@ -296,7 +296,7 @@ void PropertyFileIncluded::Restore(Base::XMLReader &reader) void PropertyFileIncluded::SaveDocFile (Base::Writer &writer) const { - std::ifstream from(_cValue.c_str()); + Base::ifstream from(Base::FileInfo(_cValue.c_str())); if (!from) throw Base::Exception("PropertyFileIncluded::SaveDocFile() " "File in document transient dir deleted"); @@ -311,7 +311,7 @@ void PropertyFileIncluded::SaveDocFile (Base::Writer &writer) const void PropertyFileIncluded::RestoreDocFile(Base::Reader &reader) { - std::ofstream to(_cValue.c_str()); + Base::ofstream to(Base::FileInfo(_cValue.c_str())); if (!to) throw Base::Exception("PropertyFileIncluded::RestoreDocFile() " "File in document transient dir deleted"); diff --git a/src/Base/Writer.cpp b/src/Base/Writer.cpp index 74742f2a6..01eecef6b 100644 --- a/src/Base/Writer.cpp +++ b/src/Base/Writer.cpp @@ -32,6 +32,7 @@ #include "Exception.h" #include "Base64.h" #include "FileInfo.h" +#include "Stream.h" #include "Tools.h" #include @@ -59,19 +60,24 @@ Writer::~Writer() void Writer::insertAsciiFile(const char* FileName) { - std::ifstream from(FileName); - if (!from) throw Base::Exception("Writer::insertAsciiFile() Could not open file!"); + Base::FileInfo fi(FileName); + Base::ifstream from(fi); + if (!from) + throw Base::Exception("Writer::insertAsciiFile() Could not open file!"); Stream() << "" << endl; } void Writer::insertBinFile(const char* FileName) { - std::ifstream from(FileName); - if (!from) throw Base::Exception("Writer::insertAsciiFile() Could not open file!"); + Base::FileInfo fi(FileName); + Base::ifstream from(fi, std::ios::in | std::ios::binary); + if (!from) + throw Base::Exception("Writer::insertAsciiFile() Could not open file!"); Stream() << "