Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=aa4aefc817a69994314107aceacf9d204c6c4972
commit aa4aefc817a69994314107aceacf9d204c6c4972 Author: Michel Hermier <[email protected]> Date: Tue May 20 08:30:37 2014 +0200 libpacman: Make Package lifetime only controlled by acquire/release. diff --git a/lib/libpacman/package.h b/lib/libpacman/package.h index ade0ac6..0ec3e28 100644 --- a/lib/libpacman/package.h +++ b/lib/libpacman/package.h @@ -96,8 +96,10 @@ public: \ public: Package(libpacman::Database *database = 0); Package(const char *name, const char *version); +protected: virtual ~Package(); +public: libpacman::Database *database() const; virtual int read(unsigned int flags); diff --git a/lib/libpacman/trans.cpp b/lib/libpacman/trans.cpp index 1c7637c..c035f62 100644 --- a/lib/libpacman/trans.cpp +++ b/lib/libpacman/trans.cpp @@ -56,6 +56,7 @@ #include <stdlib.h> #include <string.h> +using namespace flib; using namespace libpacman; static int check_oldcache(void) @@ -787,7 +788,7 @@ int __pmtrans_t::add(const char *target, pmtranstype_t type, int flags) _pacman_log(PM_LOG_WARNING, _("newer version %s-%s is in the target list -- skipping"), pkg_queued->name(), pkg_queued->version(), pkg_new->version()); } - delete pkg_new; + fRelease(pkg_new); } else { add(pkg_new, type, 0); } @@ -818,7 +819,7 @@ int __pmtrans_t::add(const char *target, pmtranstype_t type, int flags) return(0); error: - delete pkg_new; + fRelease(pkg_new); return(-1); } _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
