summaryrefslogtreecommitdiff
path: root/src/sds.h
diff options
context:
space:
mode:
authorPieter Noordhuis <pcnoordhuis@gmail.com>2011-04-19 23:10:45 +0200
committerPieter Noordhuis <pcnoordhuis@gmail.com>2011-05-05 16:25:48 +0200
commitded614f803f56ad979da76485e74732ecdcc57fd (patch)
treef3c5d43491f85baa5b336398d539f461c88652f4 /src/sds.h
parent9703b1b3dc59aa76a314373fff748e26bdd0466f (diff)
downloadredis-ded614f803f56ad979da76485e74732ecdcc57fd.tar.gz
Inline sdslen and sdsavail (thanks to @bitbckt)
Diffstat (limited to 'src/sds.h')
-rw-r--r--src/sds.h10
1 files changed, 10 insertions, 0 deletions
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();