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