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

commit f40b285290ca58edcd2d17c5b90ded0039341804
Author: Michel Hermier <[email protected]>
Date:   Fri May 2 15:01:16 2014 +0200

libpacman: Add Package::group attribute.

diff --git a/lib/libpacman/cache.cpp b/lib/libpacman/cache.cpp
index 48c9fc8..7a9c6d0 100644
--- a/lib/libpacman/cache.cpp
+++ b/lib/libpacman/cache.cpp
@@ -201,7 +201,7 @@ int _pacman_db_load_grpcache(Database *db)
pkg->database->read(pkg, INFRQ_DESC);
}

-               for(i = pkg->groups; i; i = i->next) {
+               for(i = pkg->groups(); i; i = i->next) {
if(!_pacman_list_is_strin(i->data, db->grpcache)) {
Group *grp = new Group();

diff --git a/lib/libpacman/db/localdb.cpp b/lib/libpacman/db/localdb.cpp
index a183b8d..7c3722d 100644
--- a/lib/libpacman/db/localdb.cpp
+++ b/lib/libpacman/db/localdb.cpp
@@ -390,7 +390,7 @@ int LocalDatabase::write(Package *info, unsigned int 
inforeq)
if(info->desc[0]) {
_pacman_localdb_write_stringlist("DESC", info->desc_localized, fp);
}
-               _pacman_localdb_write_stringlist("GROUPS", info->groups, fp);
+               _pacman_localdb_write_stringlist("GROUPS", info->groups(), fp);
_pacman_localdb_write_string("URL", info->url, fp);
_pacman_localdb_write_stringlist("LICENSE", info->license, fp);
_pacman_localdb_write_string("ARCH", info->arch, fp);
diff --git a/lib/libpacman/db/localdb_files.cpp 
b/lib/libpacman/db/localdb_files.cpp
index c5ddca4..8ddf4bf 100644
--- a/lib/libpacman/db/localdb_files.cpp
+++ b/lib/libpacman/db/localdb_files.cpp
@@ -83,7 +83,7 @@ int _pacman_localdb_desc_fread(Package *info, FILE *fp)
}
f_strtrim(info->desc);
} else if(!strcmp(line, "%GROUPS%")) {
-                       _pacman_db_read_lines(&info->groups, line, sline, fp);
+                       _pacman_db_read_lines(&info->m_groups, line, sline, fp);
} else if(!strcmp(line, "%URL%")) {
if(fgets(info->url, sizeof(info->url), fp) == NULL) {
goto error;
diff --git a/lib/libpacman/package.cpp b/lib/libpacman/package.cpp
index 99d9e57..f948154 100644
--- a/lib/libpacman/package.cpp
+++ b/lib/libpacman/package.cpp
@@ -95,7 +95,7 @@ Package::Package(const libpacman::Package &other)
backup         = _pacman_list_strdup(other.backup);
m_depends      = _pacman_list_strdup(other.m_depends);
removes        = _pacman_list_strdup(other.removes);
-       groups         = _pacman_list_strdup(other.groups);
+       m_groups       = _pacman_list_strdup(other.m_groups);
m_provides     = _pacman_list_strdup(other.m_provides);
m_replaces     = _pacman_list_strdup(other.m_replaces);
triggers       = _pacman_list_strdup(other.triggers);
@@ -115,7 +115,7 @@ Package::~Package()
FREELIST(removes);
FREELIST(m_conflicts);
FREELIST(m_requiredby);
-       FREELIST(groups);
+       FREELIST(m_groups);
FREELIST(m_provides);
FREELIST(m_replaces);
FREELIST(triggers);
@@ -399,7 +399,7 @@ void *Package::getinfo(unsigned char parm)
case PM_PKG_NAME:        data = m_name; break;
case PM_PKG_VERSION:     data = m_version; break;
case PM_PKG_DESC:        data = desc; break;
-               case PM_PKG_GROUPS:      data = groups; break;
+               case PM_PKG_GROUPS:      data = m_groups; break;
case PM_PKG_URL:         data = url; break;
case PM_PKG_ARCH:        data = arch; break;
case PM_PKG_BUILDDATE:   data = builddate; break;
@@ -588,7 +588,7 @@ int _pacman_packagestrmatcher_match(const void *ptr, const 
void *matcher_data) {
((flags & PM_PACKAGE_FLAG_LOCALISED_DESCRIPTION) && 
f_stringlist_any_match(pkg->desc_localized, strmatcher)) ||
((flags & PM_PACKAGE_FLAG_LICENSE) && f_stringlist_any_match(pkg->license, 
strmatcher)) ||
((flags & PM_PACKAGE_FLAG_REPLACES) && f_stringlist_any_match(pkg->m_replaces, 
strmatcher)) ||
-                       ((flags & PM_PACKAGE_FLAG_GROUPS) && 
f_stringlist_any_match(pkg->groups, strmatcher)) ||
+                       ((flags & PM_PACKAGE_FLAG_GROUPS) && 
f_stringlist_any_match(pkg->m_groups, strmatcher)) ||
((flags & PM_PACKAGE_FLAG_FILES) && f_stringlist_any_match(pkg->m_files, 
strmatcher)) ||
((flags & PM_PACKAGE_FLAG_BACKUP) && f_stringlist_any_match(pkg->backup, 
strmatcher)) ||
((flags & PM_PACKAGE_FLAG_DEPENDS) && f_stringlist_any_match(pkg->m_depends, 
strmatcher)) ||
diff --git a/lib/libpacman/package.h b/lib/libpacman/package.h
index c2d3e9b..b031e5a 100644
--- a/lib/libpacman/package.h
+++ b/lib/libpacman/package.h
@@ -145,7 +145,7 @@ public:
FStringList *desc_localized;
FStringList *license;
FStringList *m_replaces;
-       FStringList *groups;
+       FStringList *m_groups;
FStringList *m_files;
FStringList *backup;
FStringList *m_depends;
diff --git a/lib/libpacman/package/fpmpackage.cpp 
b/lib/libpacman/package/fpmpackage.cpp
index b935592..6bf0b61 100644
--- a/lib/libpacman/package/fpmpackage.cpp
+++ b/lib/libpacman/package/fpmpackage.cpp
@@ -88,7 +88,7 @@ int _pacman_pkginfo_fread(FILE *descfile, Package *info, int 
output)
STRNCPY(info->desc, ptr+strlen(handle->language)+1, sizeof(info->desc));
}
} else if(!strcmp(key, "GROUP")) {
-                               info->groups = 
f_stringlist_append(info->groups, ptr);
+                               info->m_groups = 
f_stringlist_append(info->m_groups, ptr);
} else if(!strcmp(key, "URL")) {
STRNCPY(info->url, ptr, sizeof(info->url));
} else if(!strcmp(key, "LICENSE")) {
diff --git a/lib/libpacman/package_properties.h 
b/lib/libpacman/package_properties.h
index 791f7f6..aa831c3 100644
--- a/lib/libpacman/package_properties.h
+++ b/lib/libpacman/package_properties.h
@@ -23,6 +23,7 @@ LIBPACMAN_PACKAGE_PROPERTY(FStringList *, conflicts,  
CONFLICTS )
LIBPACMAN_PACKAGE_PROPERTY(FStringList *, depends,    DEPENDS   )
LIBPACMAN_PACKAGE_PROPERTY(FStringList *, files,      FILES     )
LIBPACMAN_PACKAGE_PROPERTY(unsigned char, force,      FORCE     )
+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    )
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to