summaryrefslogtreecommitdiff
path: root/lib/libalpm/group.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libalpm/group.c')
-rw-r--r--lib/libalpm/group.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/lib/libalpm/group.c b/lib/libalpm/group.c
index 050bcbd5..3e080a58 100644
--- a/lib/libalpm/group.c
+++ b/lib/libalpm/group.c
@@ -27,17 +27,17 @@
#include "group.h"
#include "alpm_list.h"
#include "util.h"
-#include "error.h"
#include "log.h"
#include "alpm.h"
-pmgrp_t *_alpm_grp_new()
+pmgrp_t *_alpm_grp_new(const char *name)
{
pmgrp_t* grp;
ALPM_LOG_FUNC;
CALLOC(grp, 1, sizeof(pmgrp_t), RET_ERR(PM_ERR_MEMORY, NULL));
+ STRDUP(grp->name, name, RET_ERR(PM_ERR_MEMORY, NULL));
return(grp);
}
@@ -50,20 +50,12 @@ void _alpm_grp_free(pmgrp_t *grp)
return;
}
- FREELIST(grp->packages);
+ FREE(grp->name);
+ /* do NOT free the contents of the list, just the nodes */
+ alpm_list_free(grp->packages);
FREE(grp);
}
-/* Helper function for sorting groups
- */
-int _alpm_grp_cmp(const void *g1, const void *g2)
-{
- pmgrp_t *grp1 = (pmgrp_t *)g1;
- pmgrp_t *grp2 = (pmgrp_t *)g2;
-
- return(strcmp(grp1->name, grp2->name));
-}
-
const char SYMEXPORT *alpm_grp_get_name(const pmgrp_t *grp)
{
ALPM_LOG_FUNC;
@@ -74,7 +66,7 @@ const char SYMEXPORT *alpm_grp_get_name(const pmgrp_t *grp)
return grp->name;
}
-const alpm_list_t SYMEXPORT *alpm_grp_get_pkgs(const pmgrp_t *grp)
+alpm_list_t SYMEXPORT *alpm_grp_get_pkgs(const pmgrp_t *grp)
{
ALPM_LOG_FUNC;