0
0
mirror of https://github.com/vim/vim.git synced 2025-11-14 23:04:02 -05:00

patch 9.1.1467: too many strlen() calls

Problem:  too many strlen() calls
Solution: Change expand_env() to return string length
          (John Marriott)

This commit does the following changes:
- In expand_env_esc():
  - return the length of the returned dst string.
  - refactor to remove some calls to STRLEN() and STRCAT()
  - add check for out-of-memory condition.
- Change call sites in various source files to use the return value

closes: #17561

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
John Marriott
2025-06-18 18:15:31 +02:00
committed by Christian Brabandt
parent 8311e7d6b4
commit fff0132399
8 changed files with 55 additions and 40 deletions

View File

@@ -540,10 +540,9 @@ fname2fnum(xfmark_T *fm)
#endif
))
{
int len;
size_t len;
expand_env((char_u *)"~/", NameBuff, MAXPATHL);
len = (int)STRLEN(NameBuff);
len = expand_env((char_u *)"~/", NameBuff, MAXPATHL);
vim_strncpy(NameBuff + len, fm->fname + 2, MAXPATHL - len - 1);
}
else