Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=cfpm.git;a=commitdiff;h=021174b11e76065b8282145be76ac6448b90b665

commit 021174b11e76065b8282145be76ac6448b90b665
Author: Priyank <priy...@frugalware.org>
Date:   Fri Jun 5 14:44:06 2009 +0530

bugfix in Database::registerDb()
* value returned by pacman_db_register() was never stored
* also added a destructor that unregisters the database if unregisterDb
isn't called.

diff --git a/pm.cc b/pm.cc
index ac0dce5..211635c 100644
--- a/pm.cc
+++ b/pm.cc
@@ -30,10 +30,18 @@ Database::Database()
db = NULL;
}

+Database::~Database()
+{
+       if ( db!=NULL )
+       {
+               pacman_db_unregister(db);
+       }
+}
+
bool Database::registerDb(const string dbname)
{
bool    ret = true;
-       if ( !pacman_db_register( (char*)dbname.c_str() ) )
+       if ( !(db=pacman_db_register((char*)dbname.c_str())) )
{
setStatus();
ret = false;
@@ -49,6 +57,7 @@ bool Database::unregisterDb()
setStatus();
ret = false;
}
+       db = NULL;
return ret;
}

diff --git a/pm.hh b/pm.hh
index 5e3eac2..bd7596d 100644
--- a/pm.hh
+++ b/pm.hh
@@ -24,6 +24,7 @@ namespace PM

public:
Database();
+                       ~Database();
bool registerDb(const std::string dbname);
bool unregisterDb();
};
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to