X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/994ed2bc552f4114b1f0c8dd3fd8aefaec6beeae..a74ab6478ca0d59b9c5f0b92a0ac68a69e56c80a:/src/sds.h?ds=sidebyside diff --git a/src/sds.h b/src/sds.h index af5c4910..b00551b4 100644 --- a/src/sds.h +++ b/src/sds.h @@ -31,6 +31,8 @@ #ifndef __SDS_H #define __SDS_H +#define SDS_MAX_PREALLOC (1024*1024) + #include #include @@ -62,6 +64,7 @@ size_t sdsavail(sds s); sds sdsgrowzero(sds s, size_t len); sds sdscatlen(sds s, void *t, size_t len); sds sdscat(sds s, char *t); +sds sdscatsds(sds s, sds t); sds sdscpylen(sds s, char *t, size_t len); sds sdscpy(sds s, char *t); @@ -76,6 +79,7 @@ sds sdscatprintf(sds s, const char *fmt, ...); sds sdstrim(sds s, const char *cset); sds sdsrange(sds s, int start, int end); void sdsupdatelen(sds s); +void sdsclear(sds s); int sdscmp(sds s1, sds s2); sds *sdssplitlen(char *s, int len, char *sep, int seplen, int *count); void sdsfreesplitres(sds *tokens, int count); @@ -87,4 +91,8 @@ sds *sdssplitargs(char *line, int *argc); void sdssplitargs_free(sds *argv, int argc); sds sdsmapchars(sds s, char *from, char *to, size_t setlen); +/* Low level functions exposed to the user API */ +sds sdsMakeRoomFor(sds s, size_t addlen); +void sdsIncrLen(sds s, int incr); + #endif