Browse Source

Cleanup

master
cancel 5 years ago
parent
commit
485bc17e6c
  1. 26
      thirdparty/sdd.c

26
thirdparty/sdd.c

@ -43,12 +43,12 @@ int main(int argc, char **argv) {
}
#endif
typedef struct sddtringHeader {
typedef struct sdd_header {
size_t len;
size_t cap;
} sddtringHeader;
} sdd_header;
#define SDD_HDR(s) ((sddtringHeader *)s - 1)
#define SDD_HDR(s) ((sdd_header *)s - 1)
#if defined(__GNUC__) || defined(__clang__)
#define SDD_NOINLINE __attribute__((noinline))
@ -82,9 +82,9 @@ static SDD_NOINLINE sdd sdd_impl_catvprintf(sdd s, const char *fmt,
}
sdd sdd_newcap(size_t cap) {
sddtringHeader *header;
sdd_header *header;
char *str;
header = (sddtringHeader *)malloc(sizeof(sddtringHeader) + cap + 1);
header = (sdd_header *)malloc(sizeof(sdd_header) + cap + 1);
if (!header)
return NULL;
header->len = 0;
@ -95,9 +95,9 @@ sdd sdd_newcap(size_t cap) {
}
sdd sdd_newlen(void const *init_str, size_t len) {
sddtringHeader *header;
sdd_header *header;
char *str;
header = (sddtringHeader *)malloc(sizeof(sddtringHeader) + len + 1);
header = (sdd_header *)malloc(sizeof(sdd_header) + len + 1);
if (!header)
return NULL;
header->len = len;
@ -127,7 +127,7 @@ sdd sdd_newprintf(char const *fmt, ...) {
void sdd_free(sdd str) {
if (str == NULL)
return;
free((sddtringHeader *)str - 1);
free((sdd_header *)str - 1);
}
sdd sdd_dup(sdd const str) { return sdd_newlen(str, SDD_HDR(str)->len); }
@ -136,7 +136,7 @@ size_t sdd_len(sdd const str) { return SDD_HDR(str)->len; }
size_t sdd_cap(sdd const str) { return SDD_HDR(str)->cap; }
size_t sdd_avail(sdd const str) {
sddtringHeader *h = SDD_HDR(str);
sdd_header *h = SDD_HDR(str);
if (h->cap > h->len)
return h->cap - h->len;
return 0;
@ -190,14 +190,14 @@ sdd sdd_makeroomfor(sdd str, size_t add_len) {
available = sdd_avail(str);
if (available >= add_len) /* Return if there is enough space left */
return str;
ptr = (char *)str - sizeof(sddtringHeader);
new_size = sizeof(sddtringHeader) + new_len + 1;
ptr = (char *)str - sizeof(sdd_header);
new_size = sizeof(sdd_header) + new_len + 1;
new_ptr = realloc(ptr, new_size);
if (new_ptr == NULL) {
free(ptr);
return NULL;
}
str = (char *)new_ptr + sizeof(sddtringHeader);
str = (char *)new_ptr + sizeof(sdd_header);
sdd_setcap(str, new_len);
return str;
}
@ -206,7 +206,7 @@ void sdd_pokelen(sdd str, size_t len) { SDD_HDR(str)->len = len; }
size_t sdd_totalmemused(sdd const s) {
size_t cap = sdd_cap(s);
return sizeof(sddtringHeader) + cap;
return sizeof(sdd_header) + cap;
}
bool sdd_equal(sdd const lhs, sdd const rhs) {

Loading…
Cancel
Save