X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxvc.C;h=039e4554356281cec5228e9dcd7a97f6502f6721;hb=9ee46b846e5e84ad40ceda4f4af94aeb86cd90a2;hp=7244d8dccd94d55a3c5db0a90212d226df02d12d;hpb=57a24ea9124812ddc5108ff1ad304ff61acc826a;p=lyx.git diff --git a/src/lyxvc.C b/src/lyxvc.C index 7244d8dccd..039e455435 100644 --- a/src/lyxvc.C +++ b/src/lyxvc.C @@ -32,21 +32,19 @@ 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;