aboutsummaryrefslogtreecommitdiff
path: root/text-util.h
diff options
context:
space:
mode:
authorRandy Palamar <randy@rnpnr.xyz>2025-11-23 20:36:44 -0700
committerRandy Palamar <randy@rnpnr.xyz>2025-11-24 05:25:54 -0700
commit065b905fe05283820bb68d56c4057bd2c8484fc1 (patch)
treed7886584042140b693c9fa2e8af739e0741ebe29 /text-util.h
parent5df02c199959b9da42baff0c876bf87125178ca0 (diff)
downloadvis-065b905fe05283820bb68d56c4057bd2c8484fc1.tar.gz
vis-065b905fe05283820bb68d56c4057bd2c8484fc1.tar.xz
text-util: convert trivial functions to macros
This would be less of an issue if vis was compiled as a single translation unit but even then compiler may not inline them if they are not marked as static.
Diffstat (limited to 'text-util.h')
-rw-r--r--text-util.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/text-util.h b/text-util.h
index 709e255..85bfa04 100644
--- a/text-util.h
+++ b/text-util.h
@@ -6,11 +6,11 @@
#include "text.h"
/* test whether the given range is valid (start <= end) */
-bool text_range_valid(const Filerange*);
+#define text_range_valid(r) ((r)->start != EPOS && (r)->end != EPOS && (r)->start <= (r)->end)
/* get the size of the range (end-start) or zero if invalid */
-size_t text_range_size(const Filerange*);
+#define text_range_size(r) (text_range_valid(r) ? (r)->end - (r)->start : 0)
/* create an empty / invalid range of size zero */
-Filerange text_range_empty(void);
+#define text_range_empty() (Filerange){.start = EPOS, .end = EPOS}
/* merge two ranges into a new one which contains both of them */
Filerange text_range_union(const Filerange*, const Filerange*);
/* get intersection of two ranges */