BIND 10 trac1183, updated. 8cfa0f76baf92f82bf2865b3557c0a2094e81cb4 [1183] make dbparameters_ a scoped_ptr

BIND 10 source code commits bind10-changes at lists.isc.org
Thu Aug 18 14:54:39 UTC 2011


The branch, trac1183 has been updated
       via  8cfa0f76baf92f82bf2865b3557c0a2094e81cb4 (commit)
      from  bdebd1afa4bf82120c66d9ee8d8cab500ab0b606 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 8cfa0f76baf92f82bf2865b3557c0a2094e81cb4
Author: Jelte Jansen <jelte at isc.org>
Date:   Thu Aug 18 16:54:12 2011 +0200

    [1183] make dbparameters_ a scoped_ptr
    
    so that failed constructor does not leak

-----------------------------------------------------------------------

Summary of changes:
 src/lib/datasrc/sqlite3_accessor.cc |    7 +++----
 src/lib/datasrc/sqlite3_accessor.h  |    3 ++-
 2 files changed, 5 insertions(+), 5 deletions(-)

-----------------------------------------------------------------------
diff --git a/src/lib/datasrc/sqlite3_accessor.cc b/src/lib/datasrc/sqlite3_accessor.cc
index 78c5c78..dbef967 100644
--- a/src/lib/datasrc/sqlite3_accessor.cc
+++ b/src/lib/datasrc/sqlite3_accessor.cc
@@ -49,7 +49,7 @@ struct SQLite3Parameters {
 };
 
 SQLite3Database::SQLite3Database(const std::string& filename,
-                                     const isc::dns::RRClass& rrclass) :
+                                 const isc::dns::RRClass& rrclass) :
     dbparameters_(new SQLite3Parameters),
     class_(rrclass.toText()),
     database_name_("sqlite3_" +
@@ -243,7 +243,7 @@ SQLite3Database::open(const std::string& name) {
     }
 
     checkAndSetupSchema(&initializer);
-    initializer.move(dbparameters_);
+    initializer.move(dbparameters_.get());
 }
 
 SQLite3Database::~SQLite3Database() {
@@ -251,7 +251,6 @@ SQLite3Database::~SQLite3Database() {
     if (dbparameters_->db_ != NULL) {
         close();
     }
-    delete dbparameters_;
 }
 
 void
@@ -432,7 +431,7 @@ private:
     void copyColumn(std::string (&data)[COLUMN_COUNT], int column) {
         data[column] = convertToPlainChar(sqlite3_column_text(statement_,
                                                               column),
-                                          database_->dbparameters_);
+                                          database_->dbparameters_.get());
     }
 
     void bindZoneId(const int zone_id) {
diff --git a/src/lib/datasrc/sqlite3_accessor.h b/src/lib/datasrc/sqlite3_accessor.h
index 025785e..6737c0b 100644
--- a/src/lib/datasrc/sqlite3_accessor.h
+++ b/src/lib/datasrc/sqlite3_accessor.h
@@ -21,6 +21,7 @@
 #include <exceptions/exceptions.h>
 
 #include <boost/enable_shared_from_this.hpp>
+#include <boost/scoped_ptr.hpp>
 #include <string>
 
 namespace isc {
@@ -127,7 +128,7 @@ public:
 
 private:
     /// \brief Private database data
-    SQLite3Parameters* dbparameters_;
+    boost::scoped_ptr<SQLite3Parameters> dbparameters_;
     /// \brief The class for which the queries are done
     const std::string class_;
     /// \brief Opens the database




More information about the bind10-changes mailing list