aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2021-12-20 18:58:13 +0800
committerzeertzjq <zeertzjq@outlook.com>2021-12-20 18:58:13 +0800
commit09c412837fc9690ac8817dfd9c623dc6771c8d25 (patch)
treec55be458ffb1022ac1ca3dfe71fc4114143e386c /src/nvim/eval
parent67bb01ae27db3cbba9e2e908c4e6612040f650aa (diff)
downloadrneovim-09c412837fc9690ac8817dfd9c623dc6771c8d25.tar.gz
rneovim-09c412837fc9690ac8817dfd9c623dc6771c8d25.tar.bz2
rneovim-09c412837fc9690ac8817dfd9c623dc6771c8d25.zip
refactor: remove some chdir-related unnecessary calls and checks
xmalloc() always retuns a valid pointer. Calling os_chdir() with the same directory as the current one doesn't do anything other than wasting time.
Diffstat (limited to 'src/nvim/eval')
-rw-r--r--src/nvim/eval/funcs.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c
index d43eeb4a15..4d6ed56164 100644
--- a/src/nvim/eval/funcs.c
+++ b/src/nvim/eval/funcs.c
@@ -1082,15 +1082,13 @@ static void f_chdir(typval_T *argvars, typval_T *rettv, FunPtr fptr)
// Return the current directory
cwd = xmalloc(MAXPATHL);
- if (cwd != NULL) {
- if (os_dirname(cwd, MAXPATHL) != FAIL) {
+ if (os_dirname(cwd, MAXPATHL) != FAIL) {
#ifdef BACKSLASH_IN_FILENAME
- slash_adjust(cwd);
+ slash_adjust(cwd);
#endif
- rettv->vval.v_string = vim_strsave(cwd);
- }
- xfree(cwd);
+ rettv->vval.v_string = vim_strsave(cwd);
}
+ xfree(cwd);
if (curwin->w_localdir != NULL) {
scope = kCdScopeWindow;