aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c25
1 files changed, 11 insertions, 14 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 6d900683a9..6fcd8b8a26 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -17008,15 +17008,13 @@ void ex_function(exarg_T *eap)
int j = FAIL;
if (sourcing_name != NULL) {
scriptname = autoload_name(name);
- if (scriptname != NULL) {
- p = vim_strchr(scriptname, '/');
- plen = (int)STRLEN(p);
- slen = (int)STRLEN(sourcing_name);
- if (slen > plen && fnamecmp(p,
- sourcing_name + slen - plen) == 0)
- j = OK;
- free(scriptname);
- }
+ p = vim_strchr(scriptname, '/');
+ plen = (int)STRLEN(p);
+ slen = (int)STRLEN(sourcing_name);
+ if (slen > plen && fnamecmp(p,
+ sourcing_name + slen - plen) == 0)
+ j = OK;
+ free(scriptname);
}
if (j == FAIL) {
EMSG2(_(
@@ -17638,21 +17636,20 @@ script_autoload (
/*
* Return the autoload script name for a function or variable name.
- * Returns NULL when out of memory.
*/
static char_u *autoload_name(char_u *name)
{
- char_u *p;
- char_u *scriptname;
-
/* Get the script file name: replace '#' with '/', append ".vim". */
- scriptname = xmalloc(STRLEN(name) + 14);
+ char_u *scriptname = xmalloc(STRLEN(name) + 14);
STRCPY(scriptname, "autoload/");
STRCAT(scriptname, name);
*vim_strrchr(scriptname, AUTOLOAD_CHAR) = NUL;
STRCAT(scriptname, ".vim");
+
+ char_u *p;
while ((p = vim_strchr(scriptname, AUTOLOAD_CHAR)) != NULL)
*p = '/';
+
return scriptname;
}