diff options
| author | Albert Cervin <albert@acervin.com> | 2024-03-18 22:07:36 +0100 |
|---|---|---|
| committer | Albert Cervin <albert@acervin.com> | 2024-03-18 22:12:01 +0100 |
| commit | 1558a1b36b15eb9bde28e05beea43b619e6257c6 (patch) | |
| tree | cf17929449567278cd8487ecf2aff648122c5685 /src/dged/s8.c | |
| parent | eabf7f9a958026c073faecf7504cbd8bb484a6c1 (diff) | |
| download | dged-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.c | 18 |
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; +} |
