From f899ab55ca2862246eb0d76bb1f1f0616bb0190e Mon Sep 17 00:00:00 2001 From: antirez Date: Wed, 24 Jul 2013 11:21:39 +0200 Subject: [PATCH] sdsrange() does not need to return a value. Actaully the string is modified in-place and a reallocation is never needed, so there is no need to return the new sds string pointer as return value of the function, that is now just "void". --- src/networking.c | 10 +++++----- src/sds.c | 5 ++--- src/sds.h | 2 +- src/sentinel.c | 2 +- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/networking.c b/src/networking.c index 992de156..22b7dd8e 100644 --- a/src/networking.c +++ b/src/networking.c @@ -848,7 +848,7 @@ int processInlineBuffer(redisClient *c) { sdsfree(aux); /* Leave data after the first line of the query in the buffer */ - c->querybuf = sdsrange(c->querybuf,querylen+2,-1); + sdsrange(c->querybuf,querylen+2,-1); /* Setup argv array on client structure */ if (c->argv) zfree(c->argv); @@ -877,7 +877,7 @@ static void setProtocolError(redisClient *c, int pos) { sdsfree(client); } c->flags |= REDIS_CLOSE_AFTER_REPLY; - c->querybuf = sdsrange(c->querybuf,pos,-1); + sdsrange(c->querybuf,pos,-1); } int processMultibulkBuffer(redisClient *c) { @@ -915,7 +915,7 @@ int processMultibulkBuffer(redisClient *c) { pos = (newline-c->querybuf)+2; if (ll <= 0) { - c->querybuf = sdsrange(c->querybuf,pos,-1); + sdsrange(c->querybuf,pos,-1); return REDIS_OK; } @@ -964,7 +964,7 @@ int processMultibulkBuffer(redisClient *c) { * try to make it likely that it will start at c->querybuf * boundary so that we can optimized object creation * avoiding a large copy of data. */ - c->querybuf = sdsrange(c->querybuf,pos,-1); + sdsrange(c->querybuf,pos,-1); pos = 0; /* Hint the sds library about the amount of bytes this string is * going to contain. */ @@ -1003,7 +1003,7 @@ int processMultibulkBuffer(redisClient *c) { } /* Trim to pos */ - if (pos) c->querybuf = sdsrange(c->querybuf,pos,-1); + if (pos) sdsrange(c->querybuf,pos,-1); /* We're done when c->multibulk == 0 */ if (c->multibulklen == 0) return REDIS_OK; diff --git a/src/sds.c b/src/sds.c index b63f44d9..d66c1d73 100644 --- a/src/sds.c +++ b/src/sds.c @@ -385,11 +385,11 @@ sds sdstrim(sds s, const char *cset) { * s = sdsnew("Hello World"); * sdstrim(s,1,-1); => "ello Worl" */ -sds sdsrange(sds s, int start, int end) { +void sdsrange(sds s, int start, int end) { struct sdshdr *sh = (void*) (s-(sizeof(struct sdshdr))); size_t newlen, len = sdslen(s); - if (len == 0) return s; + if (len == 0) return; if (start < 0) { start = len+start; if (start < 0) start = 0; @@ -413,7 +413,6 @@ sds sdsrange(sds s, int start, int end) { sh->buf[newlen] = 0; sh->free = sh->free+(sh->len-newlen); sh->len = newlen; - return s; } /* Apply tolower() to every character of the sds string 's'. */ diff --git a/src/sds.h b/src/sds.h index 46d914fd..6f320113 100644 --- a/src/sds.h +++ b/src/sds.h @@ -77,7 +77,7 @@ sds sdscatprintf(sds s, const char *fmt, ...); #endif sds sdstrim(sds s, const char *cset); -sds sdsrange(sds s, int start, int end); +void sdsrange(sds s, int start, int end); void sdsupdatelen(sds s); void sdsclear(sds s); int sdscmp(const sds s1, const sds s2); diff --git a/src/sentinel.c b/src/sentinel.c index 659de29b..b257ad68 100644 --- a/src/sentinel.c +++ b/src/sentinel.c @@ -1920,7 +1920,7 @@ void addReplySentinelRedisInstance(redisClient *c, sentinelRedisInstance *ri) { if (ri->flags & SRI_RECONF_DONE) flags = sdscat(flags,"reconf_done,"); if (ri->flags & SRI_DEMOTE) flags = sdscat(flags,"demote,"); - if (sdslen(flags) != 0) flags = sdsrange(flags,0,-2); /* remove last "," */ + if (sdslen(flags) != 0) sdsrange(flags,0,-2); /* remove last "," */ addReplyBulkCString(c,flags); sdsfree(flags); fields++; -- GitLab