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>
This commit is contained in:
committed by
Christian Brabandt
parent
e54fd3f7d8
commit
7ccd1a2e85
@ -1222,8 +1222,7 @@ dict_lookup(hashitem_T *hi)
|
||||
dict_equal(
|
||||
dict_T *d1,
|
||||
dict_T *d2,
|
||||
int ic, // ignore case for strings
|
||||
int recursive) // TRUE when used recursively
|
||||
int ic) // ignore case for strings
|
||||
{
|
||||
hashitem_T *hi;
|
||||
dictitem_T *item2;
|
||||
@ -1247,7 +1246,7 @@ dict_equal(
|
||||
item2 = dict_find(d2, hi->hi_key, -1);
|
||||
if (item2 == NULL)
|
||||
return FALSE;
|
||||
if (!tv_equal(&HI2DI(hi)->di_tv, &item2->di_tv, ic, recursive))
|
||||
if (!tv_equal(&HI2DI(hi)->di_tv, &item2->di_tv, ic))
|
||||
return FALSE;
|
||||
--todo;
|
||||
}
|
||||
@ -1275,7 +1274,7 @@ dict_count(dict_T *d, typval_T *needle, int ic)
|
||||
if (!HASHITEM_EMPTY(hi))
|
||||
{
|
||||
--todo;
|
||||
if (tv_equal(&HI2DI(hi)->di_tv, needle, ic, FALSE))
|
||||
if (tv_equal(&HI2DI(hi)->di_tv, needle, ic))
|
||||
++n;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user