diff options
-rw-r--r-- | src/t_set.c | 2 | ||||
-rw-r--r-- | tests/unit/type/set.tcl | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/src/t_set.c b/src/t_set.c index c530d6923..64d43f7f2 100644 --- a/src/t_set.c +++ b/src/t_set.c @@ -321,7 +321,7 @@ void smoveCommand(redisClient *c) { /* If srcset and dstset are equal, SMOVE is a no-op */ if (srcset == dstset) { - addReply(c,shared.cone); + addReply(c,setTypeIsMember(srcset,ele) ? shared.cone : shared.czero); return; } diff --git a/tests/unit/type/set.tcl b/tests/unit/type/set.tcl index 162de0af7..f294c01f4 100644 --- a/tests/unit/type/set.tcl +++ b/tests/unit/type/set.tcl @@ -450,6 +450,7 @@ start_server { test "SMOVE non existing key" { setup_move assert_equal 0 [r smove myset1 myset2 foo] + assert_equal 0 [r smove myset1 myset1 foo] assert_equal {1 a b} [lsort [r smembers myset1]] assert_equal {2 3 4} [lsort [r smembers myset2]] } |