summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2025-07-19 21:34:02 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2025-07-20 11:56:42 -0400
commit191d5b4b093e07f5243bd2c1ebecbf5a9fe76df0 (patch)
treefd4f8159a04a395c8f0c474e998e110893cc3b62
parentfdf2819481477664b89fdf42848a53b18c5f260e (diff)
ranges_sort()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r--c_src/tools-util.c7
-rw-r--r--c_src/tools-util.h1
2 files changed, 7 insertions, 1 deletions
diff --git a/c_src/tools-util.c b/c_src/tools-util.c
index a31adcb0..5a15f306 100644
--- a/c_src/tools-util.c
+++ b/c_src/tools-util.c
@@ -291,11 +291,16 @@ static int range_cmp(const void *_l, const void *_r)
return 0;
}
+void ranges_sort(ranges *r)
+{
+ sort(r->data, r->nr, sizeof(r->data[0]), range_cmp, NULL);
+}
+
void ranges_sort_merge(ranges *r)
{
ranges tmp = { 0 };
- sort(r->data, r->nr, sizeof(r->data[0]), range_cmp, NULL);
+ ranges_sort(r);
/* Merge contiguous ranges: */
darray_for_each(*r, i) {
diff --git a/c_src/tools-util.h b/c_src/tools-util.h
index 239d7e29..b8104002 100644
--- a/c_src/tools-util.h
+++ b/c_src/tools-util.h
@@ -117,6 +117,7 @@ static inline void range_add(ranges *data, u64 offset, u64 size)
}));
}
+void ranges_sort(ranges *);
void ranges_sort_merge(ranges *);
void ranges_roundup(ranges *, unsigned);
void ranges_rounddown(ranges *, unsigned);