X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Foutput.C;h=7b19e0b0911c2b2a9422b4e89d935f2f8a74d91f;hb=e5a46922e916a06ad1b958d5895cc3cfb4f13d2c;hp=fbdef6bbbb60579bbd40dd4c19e32429ad5a88e0;hpb=6ada61e182f55c612b4d743f37b14c10d032ccad;p=lyx.git diff --git a/src/output.C b/src/output.C index fbdef6bbbb..7b19e0b091 100644 --- a/src/output.C +++ b/src/output.C @@ -18,25 +18,45 @@ #include "support/filetools.h" -#include -using lyx::support::bformat; -using lyx::support::makeDisplayPath; +namespace lyx { -using lyx::docstring; +using support::bformat; +using support::FileName; +using support::makeDisplayPath; using std::ofstream; using std::string; -bool openFileWrite(ofstream & ofs, string const & fname) +namespace { + +template +bool doOpenFileWrite(OFStream & ofs, FileName const & fname) { - ofs.open(fname.c_str()); + ofs.open(fname.toFilesystemEncoding().c_str()); if (!ofs) { - docstring const file = makeDisplayPath(fname, 50); + docstring const file = makeDisplayPath(fname.absFilename(), 50); docstring text = bformat(_("Could not open the specified " "document\n%1$s."), file); - lyx::frontend::Alert::error(_("Could not open file"), text); + frontend::Alert::error(_("Could not open file"), text); return false; } return true; } + +} + + +bool openFileWrite(ofstream & ofs, FileName const & fname) +{ + return doOpenFileWrite(ofs, fname); +} + + +bool openFileWrite(odocfstream & ofs, FileName const & fname) +{ + return doOpenFileWrite(ofs, fname); +} + + +} // namespace lyx