X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxvc.C;h=039e4554356281cec5228e9dcd7a97f6502f6721;hb=e7ef29fa2d516b8593aa3cccb6548de5686e8a9a;hp=7291f0f3cbe04cd2574cf8ab8ef4b8fb95e956d4;hpb=0be0fcfd5907d448cd51addf83ed7032719a0692;p=lyx.git diff --git a/src/lyxvc.C b/src/lyxvc.C index 7291f0f3cb..039e455435 100644 --- a/src/lyxvc.C +++ b/src/lyxvc.C @@ -20,33 +20,31 @@ #include "debug.h" #include "buffer.h" #include "gettext.h" -#include "funcrequest.h" #include "frontends/Alert.h" -#include "frontends/LyXView.h" #include "support/filetools.h" #include "support/lyxlib.h" -#include - -using namespace lyx::support; +using lyx::support::bformat; +using lyx::support::IsFileReadable; +using lyx::support::MakeDisplayPath; +using lyx::support::tempName; using std::endl; +using std::string; using std::pair; LyXVC::LyXVC() { - vcs = 0; owner_ = 0; } +// for the sake of boost::scoped_ptr LyXVC::~LyXVC() -{ - delete vcs; -} +{} bool LyXVC::file_found_hook(string const & fn) @@ -54,13 +52,13 @@ bool LyXVC::file_found_hook(string const & fn) string found_file; // Check if file is under RCS if (!(found_file = RCS::find_file(fn)).empty()) { - vcs = new RCS(found_file); + vcs.reset(new RCS(found_file)); vcs->owner(owner_); return true; } // Check if file is under CVS if (!(found_file = CVS::find_file(fn)).empty()) { - vcs = new CVS(found_file, fn); + vcs.reset(new CVS(found_file, fn)); vcs->owner(owner_); return true; } @@ -107,14 +105,14 @@ void LyXVC::registrer() << "LyXVC: registering " << MakeDisplayPath(filename) << " with CVS" << endl; - vcs = new CVS(cvs_entries, filename); + vcs.reset(new CVS(cvs_entries, filename)); } else { lyxerr[Debug::LYXVC] << "LyXVC: registering " << MakeDisplayPath(filename) << " with RCS" << endl; - vcs = new RCS(filename); + vcs.reset(new RCS(filename)); } vcs->owner(owner_); @@ -225,6 +223,11 @@ string const LyXVC::getLogFile() const return string(); string tmpf = tempName(string(), "lyxvclog"); + if (tmpf.empty()) { + lyxerr[Debug::LYXVC] << "Could not generate logfile " + << tmpf << endl; + return string(); + } lyxerr[Debug::LYXVC] << "Generating logfile " << tmpf << endl; vcs->getLog(tmpf); return tmpf;