vis

a vi-like editor based on Plan 9's structural regular expressions

git clone https://9o.is/git/vis.git

commit dfa87d8aedfc6ff857d31c1b1ab0ed95df30f71a
parent 398d08cde836f2a333d30cebcbe556a70a5c3c99
Author: Marc André Tanner <mat@brain-dump.org>
Date:   Wed, 22 Jul 2015 08:45:02 +0200

text: introduce text_range_new

Diffstat:
Mtext.c | 7+++++++
Mtext.h | 3+++
2 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/text.c b/text.c @@ -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), + }; +} diff --git a/text.h b/text.h @@ -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;