diff options
Diffstat (limited to 'src/bootstrap/string_view.c')
-rw-r--r-- | src/bootstrap/string_view.c | 25 |
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 @@ | |||
1 | typedef struct StringView { | ||
2 | char *start; | ||
3 | size_t n; | ||
4 | } StringView; | ||
5 | |||
6 | void | ||
7 | sv_write(StringView sv) { | ||
8 | for (size_t i = 0; i < sv.n; i++) { | ||
9 | putchar(sv.start[i]); | ||
10 | } | ||
11 | } | ||
12 | |||
13 | bool | ||
14 | sv_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 | |||