summaryrefslogtreecommitdiff
path: root/sds.h
diff options
context:
space:
mode:
authorPieter Noordhuis <pcnoordhuis@gmail.com>2011-04-19 22:59:26 +0200
committerPieter Noordhuis <pcnoordhuis@gmail.com>2011-04-19 22:59:26 +0200
commitcd7063e85b3f7b32f7e37585615d4180a1188cba (patch)
tree4aa3d49790379fe181fd37a69f7a8da6bacf2698 /sds.h
parentd5b18b5d2878255440b9f8f73f4613190d3376b0 (diff)
Inline sdslen and sdsavail (thanks to @bitbckt)
Diffstat (limited to 'sds.h')
-rw-r--r--sds.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/sds.h b/sds.h
index eb41eb7..94f5871 100644
--- a/sds.h
+++ b/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(void);