Commit 739803c0 authored by antirez's avatar antirez
Browse files

sds.c: sdsAllocSize() function added.

parent 9555f8f2
...@@ -123,6 +123,12 @@ sds sdsRemoveFreeSpace(sds s) { ...@@ -123,6 +123,12 @@ sds sdsRemoveFreeSpace(sds s) {
return sh->buf; return sh->buf;
} }
size_t sdsAllocSize(sds s) {
struct sdshdr *sh = (void*) (s-(sizeof(struct sdshdr)));
return sizeof(*sh)+sh->len+sh->free+1;
}
/* Increment the sds length and decrements the left free space at the /* Increment the sds length and decrements the left free space at the
* end of the string accordingly to 'incr'. Also set the null term * end of the string accordingly to 'incr'. Also set the null term
* in the new end of the string. * in the new end of the string.
......
...@@ -94,5 +94,7 @@ sds sdsmapchars(sds s, char *from, char *to, size_t setlen); ...@@ -94,5 +94,7 @@ sds sdsmapchars(sds s, char *from, char *to, size_t setlen);
/* Low level functions exposed to the user API */ /* Low level functions exposed to the user API */
sds sdsMakeRoomFor(sds s, size_t addlen); sds sdsMakeRoomFor(sds s, size_t addlen);
void sdsIncrLen(sds s, int incr); void sdsIncrLen(sds s, int incr);
sds sdsRemoveFreeSpace(sds s);
size_t sdsAllocSize(sds s);
#endif #endif
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment