Gentoo Archives: gentoo-commits

From: Fabian Groffen <grobian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage-utils:master commit in: libq/
Date: Thu, 26 Sep 2019 14:06:52
Message-Id: 1569505953.21a3d43cf7f43040132e9035c7b095a17b5a8bdd.grobian@gentoo
1 commit: 21a3d43cf7f43040132e9035c7b095a17b5a8bdd
2 Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
3 AuthorDate: Thu Sep 26 13:52:33 2019 +0000
4 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
5 CommitDate: Thu Sep 26 13:52:33 2019 +0000
6 URL: https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=21a3d43c
7
8 libq/xarray: add xarraysort function
9
10 Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
11
12 libq/xarray.c | 5 +++++
13 libq/xarray.h | 1 +
14 2 files changed, 6 insertions(+)
15
16 diff --git a/libq/xarray.c b/libq/xarray.c
17 index a5cac49..49b478b 100644
18 --- a/libq/xarray.c
19 +++ b/libq/xarray.c
20 @@ -44,6 +44,11 @@ void *xarraypush(array_t *arr, const void *ele, size_t ele_len)
21 return xarraypush_ptr(arr, xmemdup(ele, ele_len));
22 }
23
24 +void xarraysort(array_t *arr, int (*compar)(const void *, const void *))
25 +{
26 + qsort(arr->eles, arr->num, sizeof(void *), compar);
27 +}
28 +
29 void xarraydelete_ptr(array_t *arr, size_t elem)
30 {
31 arr->num--;
32
33 diff --git a/libq/xarray.h b/libq/xarray.h
34 index 71dfecb..6af0d39 100644
35 --- a/libq/xarray.h
36 +++ b/libq/xarray.h
37 @@ -40,6 +40,7 @@ typedef struct {
38 void *xarrayget(array_t *arr, size_t idx);
39 void *xarraypush_ptr(array_t *arr, void *ele);
40 void *xarraypush(array_t *arr, const void *ele, size_t ele_len);
41 +void xarraysort(array_t *arr, int (*compar)(const void *, const void *));
42 void xarraydelete_ptr(array_t *arr, size_t elem);
43 void xarraydelete(array_t *arr, size_t elem);
44 void xarrayfree_int(array_t *arr);