diff options
Diffstat (limited to 'src/nvim/eval.c')
| -rw-r--r-- | src/nvim/eval.c | 31 | 
1 files changed, 11 insertions, 20 deletions
| diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 66c78f1390..7c576c9238 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -1751,17 +1751,15 @@ ex_let_one (          name[len] = NUL;          p = get_tv_string_chk(tv);          if (p != NULL && op != NULL && *op == '.') { -          bool mustfree = false; -          char_u  *s = vim_getenv(name, &mustfree); +          char *s = vim_getenv((char *)name);            if (s != NULL) { -            p = tofree = concat_str(s, p); -            if (mustfree) -              xfree(s); +            p = tofree = concat_str((char_u *)s, p); +            xfree(s);            }          }          if (p != NULL) { -          vim_setenv(name, p); +          vim_setenv((char *)name, (char *)p);            if (STRICMP(name, "HOME") == 0)              init_homedir();            else if (didset_vim && STRICMP(name, "VIM") == 0) @@ -6357,7 +6355,6 @@ static int get_env_tv(char_u **arg, typval_T *rettv, int evaluate)  {    char_u *name;    char_u *string = NULL; -  bool    mustfree = false;    int     len;    int     cc; @@ -6372,15 +6369,9 @@ static int get_env_tv(char_u **arg, typval_T *rettv, int evaluate)      cc = name[len];      name[len] = NUL;      // First try vim_getenv(), fast for normal environment vars. -    string = vim_getenv(name, &mustfree); -    if (string != NULL && *string != NUL) { -      if (!mustfree) { -        string = vim_strsave(string); -      } -    } else { -      if (mustfree) { -        xfree(string); -      } +    string = (char_u *)vim_getenv((char *)name); +    if (string == NULL || *string == NUL) { +      xfree(string);        // Next try expanding things like $VIM and ${HOME}.        string = expand_env_save(name - 1); @@ -12417,7 +12408,7 @@ static void f_resolve(typval_T *argvars, typval_T *rettv)        is_relative_to_current = TRUE;      len = STRLEN(p); -    if (len > 0 && after_pathsep(p, p + len)) { +    if (len > 0 && after_pathsep((char *)p, (char *)p + len)) {        has_trailing_pathsep = TRUE;        p[len - 1] = NUL;       /* the trailing slash breaks readlink() */      } @@ -12531,7 +12522,7 @@ static void f_resolve(typval_T *argvars, typval_T *rettv)       * if the argument had none.  But keep "/" or "//". */      if (!has_trailing_pathsep) {        q = p + STRLEN(p); -      if (after_pathsep(p, q)) +      if (after_pathsep((char *)p, (char *)q))          *path_tail_with_sep(p) = NUL;      } @@ -19929,7 +19920,7 @@ repeat:      valid |= VALID_HEAD;      *usedlen += 2;      s = get_past_head(*fnamep); -    while (tail > s && after_pathsep(s, tail)) +    while (tail > s && after_pathsep((char *)s, (char *)tail))        mb_ptr_back(*fnamep, tail);      *fnamelen = (int)(tail - *fnamep);      if (*fnamelen == 0) { @@ -19938,7 +19929,7 @@ repeat:        *bufp = *fnamep = tail = vim_strsave((char_u *)".");        *fnamelen = 1;      } else { -      while (tail > s && !after_pathsep(s, tail)) +      while (tail > s && !after_pathsep((char *)s, (char *)tail))          mb_ptr_back(*fnamep, tail);      }    } | 
