diff --git a/src/sds.c b/src/sds.c index 37c63b055..343ad1fa7 100644 --- a/src/sds.c +++ b/src/sds.c @@ -36,11 +36,11 @@ #define SDS_ABORT_ON_OOM -#include "sds.h" #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> +#include "sds.h" #include "zmalloc.h" static void sdsOomAbort(void) { @@ -78,11 +78,6 @@ sds sdsnew(const char *init) { return sdsnewlen(init, initlen); } -size_t sdslen(const sds s) { - struct sdshdr *sh = (void*) (s-(sizeof(struct sdshdr))); - return sh->len; -} - sds sdsdup(const sds s) { return sdsnewlen(s, sdslen(s)); } @@ -92,11 +87,6 @@ void sdsfree(sds s) { zfree(s-sizeof(struct sdshdr)); } -size_t sdsavail(sds s) { - struct sdshdr *sh = (void*) (s-(sizeof(struct sdshdr))); - return sh->free; -} - void sdsupdatelen(sds s) { struct sdshdr *sh = (void*) (s-(sizeof(struct sdshdr))); int reallen = strlen(s); diff --git a/src/sds.h b/src/sds.h index 6a3178688..ea43f8682 100644 --- a/src/sds.h +++ b/src/sds.h @@ -42,6 +42,16 @@ struct sdshdr { char buf[]; }; +static inline size_t sdslen(const sds s) { + struct sdshdr *sh = (void*)(s-(sizeof(struct sdshdr))); + return sh->len; +} + +static inline size_t sdsavail(const sds s) { + struct sdshdr *sh = (void*)(s-(sizeof(struct sdshdr))); + return sh->free; +} + sds sdsnewlen(const void *init, size_t initlen); sds sdsnew(const char *init); sds sdsempty();