You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by va...@apache.org on 2022/06/07 21:46:56 UTC
[couchdb] 01/01: Avoid using length/1 guard for >0 or ==0 tests in couch_key_tree
This is an automated email from the ASF dual-hosted git repository.
vatamane pushed a commit to branch avoid-length-in-guards-in-key-tree-stemming
in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit bd605b42cfaf6f8d369b08d21af0cbf6d6ce2a4c
Author: Nick Vatamaniuc <va...@gmail.com>
AuthorDate: Tue Jun 7 17:44:26 2022 -0400
Avoid using length/1 guard for >0 or ==0 tests in couch_key_tree
Issue originally discovered by @iilyak using https://comby.dev/
---
src/couch/src/couch_key_tree.erl | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/couch/src/couch_key_tree.erl b/src/couch/src/couch_key_tree.erl
index 6c8637b42..ff294c5d3 100644
--- a/src/couch/src/couch_key_tree.erl
+++ b/src/couch/src/couch_key_tree.erl
@@ -537,10 +537,10 @@ stem_tree(Depth, {Key, Val, Children}, Limit, Seen0) ->
),
{FinalSeen, FinalLimitPos, FinalChildren, FinalBranches} = FinalAcc,
case FinalLimitPos of
- N when N > 0, length(FinalChildren) > 0 ->
+ N when N > 0, FinalChildren =/= [] ->
FinalNode = {Key, Val, lists:reverse(FinalChildren)},
{FinalSeen, FinalLimitPos - 1, FinalNode, FinalBranches};
- 0 when length(FinalChildren) > 0 ->
+ 0 when FinalChildren =/= [] ->
NewBranches = lists:map(
fun(Child) ->
{Depth + 1, Child}
@@ -548,7 +548,7 @@ stem_tree(Depth, {Key, Val, Children}, Limit, Seen0) ->
lists:reverse(FinalChildren)
),
{FinalSeen, -1, NewBranches ++ FinalBranches};
- N when N < 0, length(FinalChildren) == 0 ->
+ N when N < 0, FinalChildren =:= [] ->
{FinalSeen, FinalLimitPos - 1, FinalBranches}
end.