patch 8.1.1319: computing function length name in many places
Problem: Computing function length name in many places.
Solution: compute name length in call_func().
diff --git a/src/eval.c b/src/eval.c
index fe8a8ef..7df5455 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -765,7 +765,7 @@
s = expr->vval.v_string;
if (s == NULL || *s == NUL)
return FAIL;
- if (call_func(s, (int)STRLEN(s), rettv, argc, argv, NULL,
+ if (call_func(s, -1, rettv, argc, argv, NULL,
0L, 0L, &dummy, TRUE, NULL, NULL) == FAIL)
return FAIL;
}
@@ -776,7 +776,7 @@
s = partial_name(partial);
if (s == NULL || *s == NUL)
return FAIL;
- if (call_func(s, (int)STRLEN(s), rettv, argc, argv, NULL,
+ if (call_func(s, -1, rettv, argc, argv, NULL,
0L, 0L, &dummy, TRUE, partial, NULL) == FAIL)
return FAIL;
}
@@ -1088,7 +1088,7 @@
int ret;
rettv->v_type = VAR_UNKNOWN; /* clear_tv() uses this */
- ret = call_func(func, (int)STRLEN(func), rettv, argc, argv, NULL,
+ ret = call_func(func, -1, rettv, argc, argv, NULL,
curwin->w_cursor.lnum, curwin->w_cursor.lnum,
&doesrange, TRUE, NULL, NULL);
if (ret == FAIL)
@@ -7109,7 +7109,7 @@
}
else
s = (char_u *)"";
- ret = get_func_tv(s, (int)STRLEN(s), rettv, arg,
+ ret = get_func_tv(s, -1, rettv, arg,
curwin->w_cursor.lnum, curwin->w_cursor.lnum,
&len, evaluate, pt, selfdict);