diff options
author | antirez <antirez@gmail.com> | 2014-05-05 17:07:09 +0200 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2014-05-07 16:12:32 +0200 |
commit | 40abeb1f40fecbb772630a7e9d8d4bb82f7d11a1 (patch) | |
tree | 935e2f9032c1edd14d35e9e7ea9983bed144d7af | |
parent | 1c130c6b037f9f2ec27ddf6da095d25deb3d6fa2 (diff) | |
download | redis-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.c | 7 |
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)); |