]> git.lyx.org Git - lyx.git/blobdiff - src/lyxvc.C
Add GTK bibitem dialog
[lyx.git] / src / lyxvc.C
index 220d7c2491381332f1d573c523cf95e14bc749f2..039e4554356281cec5228e9dcd7a97f6502f6721 100644 (file)
@@ -1,3 +1,18 @@
+/**
+ * \file lyxvc.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Lars Gullik Bjønnes
+ * \author Jean-Marc Lasgouttes
+ * \author Angus Leeming
+ * \author John Levon
+ * \author André Pönitz
+ * \author Allan Rae
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
 #include <config.h>
 
 #include "lyxvc.h"
 #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 <unistd.h>
-
-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)
@@ -39,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;
        }
@@ -92,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_);
@@ -210,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;