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

commit c2baa5926ef309060be4f6bb73aefa4b080e3623
Author: Michel Hermier <[email protected]>
Date:   Thu May 15 08:04:00 2014 +0200

libpacman: Make Package::triggers a property.

diff --git a/lib/libpacman/db/localdb.cpp b/lib/libpacman/db/localdb.cpp
index 229b8f2..3700067 100644
--- a/lib/libpacman/db/localdb.cpp
+++ b/lib/libpacman/db/localdb.cpp
@@ -389,7 +389,7 @@ int LocalDatabase::write(Package *info, unsigned int 
inforeq)
fprintf(fp, "%%REASON%%\n"
"%d\n\n", info->reason());
}
-               _pacman_localdb_write_stringlist("TRIGGERS", info->triggers, 
fp);
+               _pacman_localdb_write_stringlist("TRIGGERS", info->triggers(), 
fp);
fclose(fp);
fp = NULL;
}
diff --git a/lib/libpacman/db/localdb_files.cpp 
b/lib/libpacman/db/localdb_files.cpp
index f5797c4..6d8cc18 100644
--- a/lib/libpacman/db/localdb_files.cpp
+++ b/lib/libpacman/db/localdb_files.cpp
@@ -124,7 +124,7 @@ int _pacman_localdb_desc_fread(Package *info, FILE *fp)
f_strtrim(tmp);
info->m_reason = atol(tmp);
} else if(!strcmp(line, "%TRIGGERS%")) {
-                       _pacman_db_read_lines(&info->triggers, line, sline, fp);
+                       _pacman_db_read_lines(&info->m_triggers, line, sline, 
fp);
} else if(!strcmp(line, "%SIZE%") || !strcmp(line, "%CSIZE%")) {
/* NOTE: the CSIZE and SIZE fields both share the "size" field
*       in the pkginfo_t struct.  This can be done b/c CSIZE
diff --git a/lib/libpacman/package.cpp b/lib/libpacman/package.cpp
index 18c6bca..d47d581 100644
--- a/lib/libpacman/package.cpp
+++ b/lib/libpacman/package.cpp
@@ -80,7 +80,7 @@ Package::~Package()
FREELIST(m_groups);
FREELIST(m_provides);
FREELIST(m_replaces);
-       FREELIST(triggers);
+       FREELIST(m_triggers);
free(m_path);
}

@@ -345,7 +345,7 @@ int _pacman_packagestrmatcher_match(const void *ptr, const 
void *matcher_data) {
((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)) ||
-                       ((flags & PM_PACKAGE_FLAG_TRIGGERS) && 
f_stringlist_any_match(pkg->triggers, strmatcher))) {
+                       ((flags & PM_PACKAGE_FLAG_TRIGGERS) && 
f_stringlist_any_match(pkg->triggers(), strmatcher))) {
return 1;
}
return 0;
diff --git a/lib/libpacman/package.h b/lib/libpacman/package.h
index 332f2d1..ef93a45 100644
--- a/lib/libpacman/package.h
+++ b/lib/libpacman/package.h
@@ -151,7 +151,7 @@ public:
FStringList *m_requiredby;
FStringList *m_conflicts;
FStringList *m_provides;
-       FStringList *triggers;
+       FStringList *m_triggers;
char *m_path;
};

diff --git a/lib/libpacman/package/fpmpackage.cpp 
b/lib/libpacman/package/fpmpackage.cpp
index 7ef596a..38ee47a 100644
--- a/lib/libpacman/package/fpmpackage.cpp
+++ b/lib/libpacman/package/fpmpackage.cpp
@@ -125,7 +125,7 @@ int _pacman_pkginfo_fread(FILE *descfile, Package *info, 
int output)
} else if(!strcmp(key, "BACKUP")) {
info->m_backup = f_stringlist_append(info->m_backup, ptr);
} else if(!strcmp(key, "TRIGGER")) {
-                               info->triggers = 
f_stringlist_append(info->triggers, ptr);
+                               info->m_triggers = 
f_stringlist_append(info->m_triggers, ptr);
} else {
_pacman_log(PM_LOG_DEBUG, _("%s: syntax error in description file line %d"),
info->name()[0] != '\0' ? info->name() : "error", linenum);
diff --git a/lib/libpacman/package_properties.h 
b/lib/libpacman/package_properties.h
index 8e6dba8..c72d3f2 100644
--- a/lib/libpacman/package_properties.h
+++ b/lib/libpacman/package_properties.h
@@ -33,6 +33,7 @@ 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    )
+LIBPACMAN_PACKAGE_PROPERTY(FStringList *, triggers,   TRIGGERS  )
LIBPACMAN_PACKAGE_PROPERTY(const char *,  url,        URL       )
LIBPACMAN_PACKAGE_PROPERTY(const char *,  version,    VERSION   )

diff --git a/lib/libpacman/pacman.cpp b/lib/libpacman/pacman.cpp
index 555c30b..eb5ead8 100644
--- a/lib/libpacman/pacman.cpp
+++ b/lib/libpacman/pacman.cpp
@@ -826,7 +826,7 @@ void *pacman_pkg_getinfo(pmpkg_t *_pkg, unsigned char parm)
case PM_PKG_FILES:       data = pkg->files(); break;
case PM_PKG_BACKUP:      data = pkg->backup(); break;
case PM_PKG_SCRIPLET:    data = (void *)(long)pkg->scriptlet; break;
-               case PM_PKG_TRIGGERS:    data = pkg->triggers; break;
+               case PM_PKG_TRIGGERS:    data = pkg->triggers(); break;
default:
data = NULL;
break;
diff --git a/lib/libpacman/trans.cpp b/lib/libpacman/trans.cpp
index 44922e0..4f6b8d1 100644
--- a/lib/libpacman/trans.cpp
+++ b/lib/libpacman/trans.cpp
@@ -139,13 +139,13 @@ int _pacman_trans_compute_triggers(pmtrans_t *trans)
for(lp = trans->packages; lp; lp = lp->next) {
Package *pkg = lp->data;

-               trans->triggers = 
f_stringlist_append_stringlist(trans->triggers, pkg->triggers);
+               trans->triggers = 
f_stringlist_append_stringlist(trans->triggers, pkg->triggers());
}
for(lp = trans->syncpkgs; lp; lp = lp->next) {
Package *pkg = ((pmsyncpkg_t *)lp->data)->pkg_new;

/* FIXME: might be incomplete */
-               trans->triggers = 
f_stringlist_append_stringlist(trans->triggers, pkg->triggers);
+               trans->triggers = 
f_stringlist_append_stringlist(trans->triggers, pkg->triggers());
}
trans->triggers = _pacman_list_remove_dupes(trans->triggers);
/* FIXME: Sort the triggers to have a predictable execution order */
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to