summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2014-05-05 17:07:09 +0200
committerantirez <antirez@gmail.com>2014-05-07 16:12:32 +0200
commit40abeb1f40fecbb772630a7e9d8d4bb82f7d11a1 (patch)
tree935e2f9032c1edd14d35e9e7ea9983bed144d7af
parent1c130c6b037f9f2ec27ddf6da095d25deb3d6fa2 (diff)
downloadredis-40abeb1f40fecbb772630a7e9d8d4bb82f7d11a1.tar.gz
Scripting: simpler reply buffer creation in luaRedisGenericCommand().
It if faster to just create the string with a single sdsnewlen() call. If c->bufpos is zero, the call will simply be like sdsemtpy().
-rw-r--r--src/scripting.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/scripting.c b/src/scripting.c
index 9cce3165b..1202c5c2f 100644
--- a/src/scripting.c
+++ b/src/scripting.c
@@ -306,11 +306,8 @@ int luaRedisGenericCommand(lua_State *lua, int raise_error) {
/* Convert the result of the Redis command into a suitable Lua type.
* The first thing we need is to create a single string from the client
* output buffers. */
- reply = sdsempty();
- if (c->bufpos) {
- reply = sdscatlen(reply,c->buf,c->bufpos);
- c->bufpos = 0;
- }
+ reply = sdsnewlen(c->buf,c->bufpos);
+ c->bufpos = 0;
while(listLength(c->reply)) {
robj *o = listNodeValue(listFirst(c->reply));