Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=4f3082d2805971ba40703e9f7339e45365fd1a30

commit 4f3082d2805971ba40703e9f7339e45365fd1a30
Author: Michel Hermier <[email protected]>
Date:   Wed Sep 3 19:12:59 2014 +0200

libpacman: Make Package::removes not a pointer.

diff --git a/lib/libpacman/package.cpp b/lib/libpacman/package.cpp
index 3636d11..2fa16d3 100644
--- a/lib/libpacman/package.cpp
+++ b/lib/libpacman/package.cpp
@@ -70,7 +70,6 @@ Package::~Package()
FREELIST(license);
FREELIST(desc_localized);
FREELIST(m_files);
-       FREELIST(m_removes);
FREELIST(m_conflicts);
FREELIST(m_requiredby);
FREELIST(m_groups);
@@ -329,7 +328,7 @@ int _pacman_strmatcher_match(const FStrMatcher *strmatcher, 
Package *pkg, int fl
((flags & PM_PACKAGE_FLAG_FILES) && f_stringlist_any_match(pkg->files(), 
strmatcher)) ||
((flags & PM_PACKAGE_FLAG_BACKUP) && f_stringlist_any_match(&pkg->backup(), 
strmatcher)) ||
((flags & PM_PACKAGE_FLAG_DEPENDS) && f_stringlist_any_match(&pkg->depends(), 
strmatcher)) ||
-                       ((flags & PM_PACKAGE_FLAG_REMOVES) && 
f_stringlist_any_match(pkg->removes(), strmatcher)) ||
+                       ((flags & PM_PACKAGE_FLAG_REMOVES) && 
f_stringlist_any_match(&pkg->removes(), strmatcher)) ||
((flags & PM_PACKAGE_FLAG_REQUIREDBY) && 
f_stringlist_any_match(pkg->requiredby(), strmatcher)) ||
((flags & PM_PACKAGE_FLAG_CONFLICTS) && 
f_stringlist_any_match(pkg->conflicts(), strmatcher)) ||
((flags & PM_PACKAGE_FLAG_PROVIDES) && f_stringlist_any_match(pkg->provides(), 
strmatcher)) ||
diff --git a/lib/libpacman/package.h b/lib/libpacman/package.h
index 4429a28..605ebcd 100644
--- a/lib/libpacman/package.h
+++ b/lib/libpacman/package.h
@@ -157,7 +157,7 @@ public:
FStringList *m_files;
FStringList m_backup;
FStringList m_depends;
-       FStringList *m_removes;
+       FStringList m_removes;
FStringList *m_requiredby;
FStringList *m_conflicts;
FStringList *m_provides;
diff --git a/lib/libpacman/package/fpmpackage.cpp 
b/lib/libpacman/package/fpmpackage.cpp
index b5ce80e..8f89ae5 100644
--- a/lib/libpacman/package/fpmpackage.cpp
+++ b/lib/libpacman/package/fpmpackage.cpp
@@ -113,7 +113,7 @@ int _pacman_pkginfo_fread(FILE *descfile, Package *info, 
int output)
} else if(!strcmp(key, "DEPEND")) {
f_stringlist_add(&info->m_depends, ptr);
} else if(!strcmp(key, "REMOVE")) {
-                               info->m_removes = 
f_stringlist_add(info->m_removes, ptr);
+                               f_stringlist_add(&info->m_removes, ptr);
} else if(!strcmp(key, "CONFLICT")) {
info->m_conflicts = f_stringlist_add(info->m_conflicts, ptr);
} else if(!strcmp(key, "REPLACES")) {
diff --git a/lib/libpacman/package_properties.h 
b/lib/libpacman/package_properties.h
index b357656..f4b19d5 100644
--- a/lib/libpacman/package_properties.h
+++ b/lib/libpacman/package_properties.h
@@ -29,7 +29,7 @@ LIBPACMAN_PACKAGE_PROPERTY(FStringList *, groups,     GROUPS  
  )
LIBPACMAN_PACKAGE_PROPERTY(const char *,  name,       NAME      )
LIBPACMAN_PACKAGE_PROPERTY(FStringList *, provides,   PROVIDES  )
LIBPACMAN_PACKAGE_PROPERTY(unsigned char, reason,     REASON    )
-LIBPACMAN_PACKAGE_PROPERTY(FStringList *, removes,    REMOVES   )
+LIBPACMAN_PACKAGE_PROPERTY(FStringList &, removes,    REMOVES   )
LIBPACMAN_PACKAGE_PROPERTY(FStringList *, replaces,   REPLACES  )
LIBPACMAN_PACKAGE_PROPERTY(FStringList *, requiredby, REQUIREDBY)
LIBPACMAN_PACKAGE_PROPERTY(unsigned char, stick,      STICKY    )
diff --git a/lib/libpacman/pacman.cpp b/lib/libpacman/pacman.cpp
index f918b5f..44dc7b8 100644
--- a/lib/libpacman/pacman.cpp
+++ b/lib/libpacman/pacman.cpp
@@ -814,7 +814,7 @@ void *pacman_pkg_getinfo(pmpkg_t *_pkg, unsigned char parm)
case PM_PKG_MD5SUM:      data = pkg->md5sum; break;
case PM_PKG_SHA1SUM:     data = pkg->sha1sum; break;
case PM_PKG_DEPENDS:     data = &pkg->depends(); break;
-               case PM_PKG_REMOVES:     data = pkg->removes(); break;
+               case PM_PKG_REMOVES:     data = &pkg->removes(); break;
case PM_PKG_REQUIREDBY:  data = pkg->requiredby(); break;
case PM_PKG_PROVIDES:    data = pkg->provides(); break;
case PM_PKG_CONFLICTS:   data = pkg->conflicts(); break;
diff --git a/lib/libpacman/trans.cpp b/lib/libpacman/trans.cpp
index 8a6e2e3..597b513 100644
--- a/lib/libpacman/trans.cpp
+++ b/lib/libpacman/trans.cpp
@@ -957,9 +957,9 @@ cleanup:
_pacman_log(PM_LOG_FLOW1, _("cleaning up"));
for (auto lp = packages.begin(), lp_end = packages.end(); lp != lp_end; lp = 
lp->next()) {
Package *pkg_new = (Package *)f_ptrlistitem_data(lp);
-               auto removes = pkg_new->removes();
+               auto &removes = pkg_new->removes();

-               for (auto rmlist = removes->begin(), rmlist_end = 
removes->end(); rmlist != rmlist_end; rmlist = rmlist->next()) {
+               for (auto rmlist = removes.begin(), rmlist_end = removes.end(); 
rmlist != rmlist_end; rmlist = rmlist->next()) {
char rm_fname[PATH_MAX];

snprintf(rm_fname, PATH_MAX, "%s%s", m_handle->root, 
f_stringlistitem_to_str(rmlist));
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to