summaryrefslogtreecommitdiff
path: root/src/dged/s8.c
blob: 0566fded9663dec5b7914c0113a343b99e234e41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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;
}