diff options
author | Felipe Oliveira Carvalho <felipekde@gmail.com> | 2014-05-12 15:14:29 -0300 |
---|---|---|
committer | Felipe Oliveira Carvalho <felipekde@gmail.com> | 2014-05-19 14:50:25 -0300 |
commit | f88a2d7e1be04879d03d0f7dc91d2f41f20e49db (patch) | |
tree | 7135991cb0e5595ff7e22214805a4145cb5ac5f7 /src | |
parent | 1d844dda4612be62fa2a0bc0aada2f05da8f0f94 (diff) | |
download | rneovim-f88a2d7e1be04879d03d0f7dc91d2f41f20e49db.tar.gz rneovim-f88a2d7e1be04879d03d0f7dc91d2f41f20e49db.tar.bz2 rneovim-f88a2d7e1be04879d03d0f7dc91d2f41f20e49db.zip |
Remove OOM checks: do_string_sub()
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/eval.c | 39 |
1 files changed, 17 insertions, 22 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c index aa759a2275..2f8e65df86 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -19529,27 +19529,23 @@ repeat: p = vim_strchr(s, sep); if (p != NULL) { pat = vim_strnsave(s, (int)(p - s)); - if (pat != NULL) { - s = p + 1; - /* find end of substitution */ - p = vim_strchr(s, sep); - if (p != NULL) { - sub = vim_strnsave(s, (int)(p - s)); - str = vim_strnsave(*fnamep, *fnamelen); - *usedlen = (int)(p + 1 - src); - s = do_string_sub(str, pat, sub, flags); - if (s != NULL) { - *fnamep = s; - *fnamelen = (int)STRLEN(s); - free(*bufp); - *bufp = s; - didit = TRUE; - } - free(sub); - free(str); - } - free(pat); + s = p + 1; + /* find end of substitution */ + p = vim_strchr(s, sep); + if (p != NULL) { + sub = vim_strnsave(s, (int)(p - s)); + str = vim_strnsave(*fnamep, *fnamelen); + *usedlen = (int)(p + 1 - src); + s = do_string_sub(str, pat, sub, flags); + *fnamep = s; + *fnamelen = (int)STRLEN(s); + free(*bufp); + *bufp = s; + didit = TRUE; + free(sub); + free(str); } + free(pat); } /* after using ":s", repeat all the modifiers */ if (didit) @@ -19581,7 +19577,6 @@ char_u *do_string_sub(char_u *str, char_u *pat, char_u *sub, char_u *flags) int do_all; char_u *tail; garray_T ga; - char_u *ret; char_u *save_cpo; char_u *zero_width = NULL; @@ -19640,7 +19635,7 @@ char_u *do_string_sub(char_u *str, char_u *pat, char_u *sub, char_u *flags) vim_regfree(regmatch.regprog); } - ret = vim_strsave(ga.ga_data == NULL ? str : (char_u *)ga.ga_data); + char_u *ret = vim_strsave(ga.ga_data == NULL ? str : (char_u *)ga.ga_data); ga_clear(&ga); if (p_cpo == empty_option) p_cpo = save_cpo; |