#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) {
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));
}
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);
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();