patch 9.1.0524: the recursive parameter in the *_equal functions can be removed
Problem: the recursive parameter in the *_equal functions can be removed
Solution: Remove the recursive parameter in dict_equal(), list_equal()
object_equal and tv_equal(). Use a comparison of the static
var recursive_cnt == 0 to determine whether or not tv_equal()
has been called recursively (Yinzuo Jiang).
closes: #15070
Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/evalfunc.c b/src/evalfunc.c
index d18d50a..c9480f9 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -7535,7 +7535,7 @@
{
tv.v_type = VAR_NUMBER;
tv.vval.v_number = blob_get(b, idx);
- if (tv_equal(&tv, &argvars[1], ic, FALSE))
+ if (tv_equal(&tv, &argvars[1], ic))
{
rettv->vval.v_number = idx;
return;
@@ -7568,7 +7568,7 @@
}
for ( ; item != NULL; item = item->li_next, ++idx)
- if (tv_equal(&item->li_tv, &argvars[1], ic, FALSE))
+ if (tv_equal(&item->li_tv, &argvars[1], ic))
{
rettv->vval.v_number = idx;
break;