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/channel.c b/src/channel.c
index a29414f..31c9bbe 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -1650,7 +1650,7 @@
     argv[0].v_type = VAR_CHANNEL;
     argv[0].vval.v_channel = channel;
 
-    call_func(callback, (int)STRLEN(callback), &rettv, 2, argv, NULL,
+    call_func(callback, -1, &rettv, 2, argv, NULL,
 					  0L, 0L, &dummy, TRUE, partial, NULL);
     clear_tv(&rettv);
     channel_need_redraw = TRUE;
@@ -2989,7 +2989,7 @@
 						(char *)channel->ch_close_cb);
 	      argv[0].v_type = VAR_CHANNEL;
 	      argv[0].vval.v_channel = channel;
-	      call_func(channel->ch_close_cb, (int)STRLEN(channel->ch_close_cb),
+	      call_func(channel->ch_close_cb, -1,
 			   &rettv, 1, argv, NULL, 0L, 0L, &dummy, TRUE,
 			   channel->ch_close_partial, NULL);
 	      clear_tv(&rettv);
@@ -5478,7 +5478,7 @@
 	argv[0].vval.v_job = job;
 	argv[1].v_type = VAR_NUMBER;
 	argv[1].vval.v_number = job->jv_exitval;
-	call_func(job->jv_exit_cb, (int)STRLEN(job->jv_exit_cb),
+	call_func(job->jv_exit_cb, -1,
 	    &rettv, 2, argv, NULL, 0L, 0L, &dummy, TRUE,
 	    job->jv_exit_partial, NULL);
 	clear_tv(&rettv);
@@ -6069,8 +6069,7 @@
     argv[0].vval.v_string = vim_strsave(text);
     argv[1].v_type = VAR_UNKNOWN;
 
-    call_func(curbuf->b_prompt_callback,
-	      (int)STRLEN(curbuf->b_prompt_callback),
+    call_func(curbuf->b_prompt_callback, -1,
 	      &rettv, 1, argv, NULL, 0L, 0L, &dummy, TRUE,
 	      curbuf->b_prompt_partial, NULL);
     clear_tv(&argv[0]);
@@ -6093,8 +6092,7 @@
     argv[0].v_type = VAR_UNKNOWN;
 
     got_int = FALSE; // don't skip executing commands
-    call_func(curbuf->b_prompt_interrupt,
-	      (int)STRLEN(curbuf->b_prompt_interrupt),
+    call_func(curbuf->b_prompt_interrupt, -1,
 	      &rettv, 0, argv, NULL, 0L, 0L, &dummy, TRUE,
 	      curbuf->b_prompt_int_partial, NULL);
     clear_tv(&rettv);