diff options
| -rw-r--r-- | text-util.c | 6 | ||||
| -rw-r--r-- | text-util.h | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/text-util.c b/text-util.c index 38e49e1..2b48719 100644 --- a/text-util.c +++ b/text-util.c @@ -31,6 +31,12 @@ Filerange text_range_new(size_t a, size_t b) { }; } +bool text_range_equal(Filerange *r1, Filerange *r2) { + if (!text_range_valid(r1) && !text_range_valid(r2)) + return true; + return r1->start == r2->start && r1->end == r2->end; +} + bool text_range_overlap(Filerange *r1, Filerange *r2) { if (!text_range_valid(r1) || !text_range_valid(r2)) return false; diff --git a/text-util.h b/text-util.h index 8e9eedb..80affd5 100644 --- a/text-util.h +++ b/text-util.h @@ -15,6 +15,8 @@ Filerange text_range_empty(void); Filerange text_range_union(Filerange*, Filerange*); /* create new range [min(a,b), max(a,b)] */ Filerange text_range_new(size_t a, size_t b); +/* test whether two ranges are equal */ +bool text_range_equal(Filerange*, Filerange*); /* test whether two ranges overlap */ bool text_range_overlap(Filerange*, Filerange*); /* test whether a given position is within a certain range */ |
