aboutsummaryrefslogtreecommitdiffstats
path: root/src/bootstrap/string_view.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bootstrap/string_view.c')
-rw-r--r--src/bootstrap/string_view.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/bootstrap/string_view.c b/src/bootstrap/string_view.c
new file mode 100644
index 0000000..3cf275a
--- /dev/null
+++ b/src/bootstrap/string_view.c
@@ -0,0 +1,25 @@
1typedef struct StringView {
2 char *start;
3 size_t n;
4} StringView;
5
6void
7sv_write(StringView sv) {
8 for (size_t i = 0; i < sv.n; i++) {
9 putchar(sv.start[i]);
10 }
11}
12
13bool
14sv_equal(StringView a, StringView b) {
15 if (a.n == b.n) {
16 for (size_t i = 0; i < a.n; i++) {
17 if (a.start[i] != b.start[i]) {
18 return false;
19 }
20 }
21 return true;
22 }
23 return false;
24}
25