From 6ea8e0949c6cc6cd222c13f4a13d39fe8652f65e 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/cluster.c | 2 +- src/networking.c | 10 +++++----- src/sds.c | 5 ++--- src/sds.h | 2 +- src/sentinel.c | 2 +- 5 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/cluster.c b/src/cluster.c index 017989df..89ef24b9 100644 --- a/src/cluster.c +++ b/src/cluster.c @@ -1153,7 +1153,7 @@ void clusterWriteHandler(aeEventLoop *el, int fd, void *privdata, int mask) { handleLinkIOError(link); return; } - link->sndbuf = sdsrange(link->sndbuf,nwritten,-1); + sdsrange(link->sndbuf,nwritten,-1); if (sdslen(link->sndbuf) == 0) aeDeleteFileEvent(server.el, link->fd, AE_WRITABLE); } diff --git a/src/networking.c b/src/networking.c index f7cfeb09..c131c9c6 100644 --- a/src/networking.c +++ b/src/networking.c @@ -866,7 +866,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); @@ -895,7 +895,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) { @@ -933,7 +933,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; } @@ -982,7 +982,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. */ @@ -1021,7 +1021,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++;