diff options
| -rw-r--r-- | text.c | 7 | ||||
| -rw-r--r-- | text.h | 3 |
2 files changed, 10 insertions, 0 deletions
@@ -1489,3 +1489,10 @@ Filerange text_range_union(Filerange *r1, Filerange *r2) { .end = MAX(r1->end, r2->end), }; } + +Filerange text_range_new(size_t a, size_t b) { + return (Filerange) { + .start = MIN(a, b), + .end = MAX(a, b), + }; +} @@ -15,6 +15,7 @@ typedef struct { size_t start, end; /* range in bytes from start of the file */ } Filerange; + /* test whether the given range is valid (start <= end) */ bool text_range_valid(Filerange*); /* get the size of the range (end-start) or zero if invalid */ @@ -23,6 +24,8 @@ size_t text_range_size(Filerange*); Filerange text_range_empty(void); /* merge two ranges into a new one which contains both of them */ 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); typedef struct Text Text; typedef struct Piece Piece; |
