summaryrefslogtreecommitdiff
path: root/src/dged/s8.c
diff options
context:
space:
mode:
authorAlbert Cervin <albert@acervin.com>2024-03-18 22:07:36 +0100
committerAlbert Cervin <albert@acervin.com>2024-03-18 22:12:01 +0100
commit1558a1b36b15eb9bde28e05beea43b619e6257c6 (patch)
treecf17929449567278cd8487ecf2aff648122c5685 /src/dged/s8.c
parenteabf7f9a958026c073faecf7504cbd8bb484a6c1 (diff)
downloaddged-1558a1b36b15eb9bde28e05beea43b619e6257c6.tar.gz
dged-1558a1b36b15eb9bde28e05beea43b619e6257c6.tar.xz
dged-1558a1b36b15eb9bde28e05beea43b619e6257c6.zip
More work on languages/syntax
Implement another predicate and add javascript.
Diffstat (limited to 'src/dged/s8.c')
-rw-r--r--src/dged/s8.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/dged/s8.c b/src/dged/s8.c
index 0566fde..c4544b9 100644
--- a/src/dged/s8.c
+++ b/src/dged/s8.c
@@ -23,3 +23,21 @@ char *s8tocstr(struct s8 s) {
cstr[s.l] = '\0';
return cstr;
}
+
+bool s8startswith(struct s8 s, struct s8 prefix) {
+ if (prefix.l > s.l) {
+ return false;
+ }
+
+ return memcmp(s.s, prefix.s, prefix.l) == 0;
+}
+
+struct s8 s8dup(struct s8 s) {
+ struct s8 new = {0};
+ new.l = s.l;
+
+ new.s = (char *)malloc(s.l);
+ memcpy(new.s, s.s, s.l);
+
+ return new;
+}