comparison src/filepath.c @ 23181:5f69af863502 v8.2.2136

patch 8.2.2136: Vim9: Using uninitialized variable Commit: https://github.com/vim/vim/commit/c530852315517a44354edbbd6c3375355bbec37e Author: Bram Moolenaar <Bram@vim.org> Date: Sun Dec 13 12:25:35 2020 +0100 patch 8.2.2136: Vim9: Using uninitialized variable Problem: Vim9: Using uninitialized variable. Solution: Initialize "len" to zero. Clean up fnamemodify().
author Bram Moolenaar <Bram@vim.org>
date Sun, 13 Dec 2020 12:30:04 +0100
parents d7294a6220ac
children 7b3317e959e3
comparison
equal deleted inserted replaced
23180:0966c0fbf3f5 23181:5f69af863502
1017 f_fnamemodify(typval_T *argvars, typval_T *rettv) 1017 f_fnamemodify(typval_T *argvars, typval_T *rettv)
1018 { 1018 {
1019 char_u *fname; 1019 char_u *fname;
1020 char_u *mods; 1020 char_u *mods;
1021 int usedlen = 0; 1021 int usedlen = 0;
1022 int len; 1022 int len = 0;
1023 char_u *fbuf = NULL; 1023 char_u *fbuf = NULL;
1024 char_u buf[NUMBUFLEN]; 1024 char_u buf[NUMBUFLEN];
1025 1025
1026 if (in_vim9script() && (check_for_string(&argvars[0]) == FAIL 1026 if (in_vim9script() && (check_for_string(&argvars[0]) == FAIL
1027 || check_for_string(&argvars[1]) == FAIL)) 1027 || check_for_string(&argvars[1]) == FAIL))
1028 return; 1028 return;
1029 fname = tv_get_string_chk(&argvars[0]); 1029 fname = tv_get_string_chk(&argvars[0]);
1030 mods = tv_get_string_buf_chk(&argvars[1], buf); 1030 mods = tv_get_string_buf_chk(&argvars[1], buf);
1031 if (fname == NULL) 1031 if (mods == NULL || fname == NULL)
1032 fname = NULL; 1032 fname = NULL;
1033 else if (mods != NULL && *mods != NUL) 1033 else
1034 { 1034 {
1035 len = (int)STRLEN(fname); 1035 len = (int)STRLEN(fname);
1036 (void)modify_fname(mods, FALSE, &usedlen, &fname, &fbuf, &len); 1036 if (mods != NULL && *mods != NUL)
1037 (void)modify_fname(mods, FALSE, &usedlen, &fname, &fbuf, &len);
1037 } 1038 }
1038 1039
1039 rettv->v_type = VAR_STRING; 1040 rettv->v_type = VAR_STRING;
1040 if (fname == NULL) 1041 if (fname == NULL)
1041 rettv->vval.v_string = NULL; 1042 rettv->vval.v_string = NULL;