diff options
Diffstat (limited to 'src/dged/s8.c')
| -rw-r--r-- | src/dged/s8.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/dged/s8.c b/src/dged/s8.c new file mode 100644 index 0000000..0566fde --- /dev/null +++ b/src/dged/s8.c @@ -0,0 +1,25 @@ +#include "s8.h" + +#include <stdlib.h> +#include <string.h> + +bool s8eq(struct s8 s1, struct s8 s2) { + return s1.l == s2.l && memcmp(s1.s, s2.s, s1.l) == 0; +} + +int s8cmp(struct s8 s1, struct s8 s2) { + if (s1.l < s2.l) { + return memcmp(s1.s, s2.s, s1.l); + } else if (s2.l < s1.l) { + return memcmp(s1.s, s2.s, s2.l); + } + + return memcmp(s1.s, s2.s, s1.l); +} + +char *s8tocstr(struct s8 s) { + char *cstr = (char *)malloc(s.l + 1); + memcpy(cstr, s.s, s.l); + cstr[s.l] = '\0'; + return cstr; +} |
