mirror of
https://github.com/vim/vim.git
synced 2025-08-26 20:03:41 -04:00
patch 9.1.0959: Coverity complains about type conversion
Problem: Coverity complains about type conversion (after v9.1.0957) Solution: use size_t instead of int for file length (Yegappan Lakshmanan) closes: #16297 Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
parent
9739086de2
commit
00d3459ea6
@ -9700,7 +9700,7 @@ eval_vars(
|
|||||||
char_u *s;
|
char_u *s;
|
||||||
char_u *result;
|
char_u *result;
|
||||||
char_u *resultbuf = NULL;
|
char_u *resultbuf = NULL;
|
||||||
int resultlen;
|
size_t resultlen;
|
||||||
buf_T *buf;
|
buf_T *buf;
|
||||||
int valid = VALID_HEAD + VALID_PATH; // assume valid result
|
int valid = VALID_HEAD + VALID_PATH; // assume valid result
|
||||||
int spec_idx;
|
int spec_idx;
|
||||||
@ -9975,12 +9975,12 @@ eval_vars(
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
resultlen = (int)STRLEN(result); // length of new string
|
resultlen = STRLEN(result); // length of new string
|
||||||
if (src[*usedlen] == '<') // remove the file name extension
|
if (src[*usedlen] == '<') // remove the file name extension
|
||||||
{
|
{
|
||||||
++*usedlen;
|
++*usedlen;
|
||||||
if ((s = vim_strrchr(result, '.')) != NULL && s >= gettail(result))
|
if ((s = vim_strrchr(result, '.')) != NULL && s >= gettail(result))
|
||||||
resultlen = (int)(s - result);
|
resultlen = s - result;
|
||||||
}
|
}
|
||||||
else if (!skip_mod)
|
else if (!skip_mod)
|
||||||
{
|
{
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
* Returns OK on success, FAIL on failure.
|
* Returns OK on success, FAIL on failure.
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
get_short_pathname(char_u **fnamep, char_u **bufp, int *fnamelen)
|
get_short_pathname(char_u **fnamep, char_u **bufp, size_t *fnamelen)
|
||||||
{
|
{
|
||||||
int l, len;
|
int l, len;
|
||||||
WCHAR *newbuf;
|
WCHAR *newbuf;
|
||||||
@ -80,7 +80,7 @@ get_short_pathname(char_u **fnamep, char_u **bufp, int *fnamelen)
|
|||||||
vim_free(wfname);
|
vim_free(wfname);
|
||||||
vim_free(newbuf);
|
vim_free(newbuf);
|
||||||
|
|
||||||
*fnamelen = l == 0 ? l : (int)STRLEN(*bufp);
|
*fnamelen = l == 0 ? l : STRLEN(*bufp);
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -103,13 +103,14 @@ get_short_pathname(char_u **fnamep, char_u **bufp, int *fnamelen)
|
|||||||
shortpath_for_invalid_fname(
|
shortpath_for_invalid_fname(
|
||||||
char_u **fname,
|
char_u **fname,
|
||||||
char_u **bufp,
|
char_u **bufp,
|
||||||
int *fnamelen)
|
size_t *fnamelen)
|
||||||
{
|
{
|
||||||
char_u *short_fname, *save_fname, *pbuf_unused;
|
char_u *short_fname, *save_fname, *pbuf_unused;
|
||||||
char_u *endp, *save_endp;
|
char_u *endp, *save_endp;
|
||||||
char_u ch;
|
char_u ch;
|
||||||
int old_len, len;
|
size_t old_len;
|
||||||
int new_len, sfx_len;
|
size_t len;
|
||||||
|
size_t new_len, sfx_len;
|
||||||
int retval = OK;
|
int retval = OK;
|
||||||
|
|
||||||
// Make a copy
|
// Make a copy
|
||||||
@ -141,7 +142,7 @@ shortpath_for_invalid_fname(
|
|||||||
ch = *endp;
|
ch = *endp;
|
||||||
*endp = 0;
|
*endp = 0;
|
||||||
short_fname = save_fname;
|
short_fname = save_fname;
|
||||||
len = (int)STRLEN(short_fname) + 1;
|
len = STRLEN(short_fname) + 1;
|
||||||
if (get_short_pathname(&short_fname, &pbuf_unused, &len) == FAIL)
|
if (get_short_pathname(&short_fname, &pbuf_unused, &len) == FAIL)
|
||||||
{
|
{
|
||||||
retval = FAIL;
|
retval = FAIL;
|
||||||
@ -164,7 +165,7 @@ shortpath_for_invalid_fname(
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// Compute the length of the new path.
|
// Compute the length of the new path.
|
||||||
sfx_len = (int)(save_endp - endp) + 1;
|
sfx_len = (save_endp - endp) + 1;
|
||||||
new_len = len + sfx_len;
|
new_len = len + sfx_len;
|
||||||
|
|
||||||
*fnamelen = new_len;
|
*fnamelen = new_len;
|
||||||
@ -211,9 +212,10 @@ theend:
|
|||||||
shortpath_for_partial(
|
shortpath_for_partial(
|
||||||
char_u **fnamep,
|
char_u **fnamep,
|
||||||
char_u **bufp,
|
char_u **bufp,
|
||||||
int *fnamelen)
|
size_t *fnamelen)
|
||||||
{
|
{
|
||||||
int sepcount, len, tflen;
|
int sepcount;
|
||||||
|
size_t len, tflen;
|
||||||
char_u *p;
|
char_u *p;
|
||||||
char_u *pbuf, *tfname;
|
char_u *pbuf, *tfname;
|
||||||
int hasTilde;
|
int hasTilde;
|
||||||
@ -232,7 +234,7 @@ shortpath_for_partial(
|
|||||||
else
|
else
|
||||||
pbuf = tfname = FullName_save(*fnamep, FALSE);
|
pbuf = tfname = FullName_save(*fnamep, FALSE);
|
||||||
|
|
||||||
len = tflen = (int)STRLEN(tfname);
|
len = tflen = STRLEN(tfname);
|
||||||
|
|
||||||
if (get_short_pathname(&tfname, &pbuf, &len) == FAIL)
|
if (get_short_pathname(&tfname, &pbuf, &len) == FAIL)
|
||||||
return FAIL;
|
return FAIL;
|
||||||
@ -273,7 +275,7 @@ shortpath_for_partial(
|
|||||||
|
|
||||||
// Copy in the string - p indexes into tfname - allocated at pbuf
|
// Copy in the string - p indexes into tfname - allocated at pbuf
|
||||||
vim_free(*bufp);
|
vim_free(*bufp);
|
||||||
*fnamelen = (int)STRLEN(p);
|
*fnamelen = STRLEN(p);
|
||||||
*bufp = pbuf;
|
*bufp = pbuf;
|
||||||
*fnamep = p;
|
*fnamep = p;
|
||||||
|
|
||||||
@ -295,7 +297,7 @@ modify_fname(
|
|||||||
size_t *usedlen, // characters after src that are used
|
size_t *usedlen, // characters after src that are used
|
||||||
char_u **fnamep, // file name so far
|
char_u **fnamep, // file name so far
|
||||||
char_u **bufp, // buffer for allocated file name or NULL
|
char_u **bufp, // buffer for allocated file name or NULL
|
||||||
int *fnamelen) // length of fnamep
|
size_t *fnamelen) // length of fnamep
|
||||||
{
|
{
|
||||||
int valid = 0;
|
int valid = 0;
|
||||||
char_u *tail;
|
char_u *tail;
|
||||||
@ -486,7 +488,7 @@ repeat:
|
|||||||
}
|
}
|
||||||
|
|
||||||
tail = gettail(*fnamep);
|
tail = gettail(*fnamep);
|
||||||
*fnamelen = (int)STRLEN(*fnamep);
|
*fnamelen = STRLEN(*fnamep);
|
||||||
|
|
||||||
// ":h" - head, remove "/file_name", can be repeated
|
// ":h" - head, remove "/file_name", can be repeated
|
||||||
// Don't remove the first "/" or "c:\"
|
// Don't remove the first "/" or "c:\"
|
||||||
@ -497,7 +499,7 @@ repeat:
|
|||||||
s = get_past_head(*fnamep);
|
s = get_past_head(*fnamep);
|
||||||
while (tail > s && after_pathsep(s, tail))
|
while (tail > s && after_pathsep(s, tail))
|
||||||
MB_PTR_BACK(*fnamep, tail);
|
MB_PTR_BACK(*fnamep, tail);
|
||||||
*fnamelen = (int)(tail - *fnamep);
|
*fnamelen = tail - *fnamep;
|
||||||
#ifdef VMS
|
#ifdef VMS
|
||||||
if (*fnamelen > 0)
|
if (*fnamelen > 0)
|
||||||
*fnamelen += 1; // the path separator is part of the path
|
*fnamelen += 1; // the path separator is part of the path
|
||||||
@ -537,7 +539,7 @@ repeat:
|
|||||||
// Copy the string if it is shortened by :h and when it wasn't copied
|
// Copy the string if it is shortened by :h and when it wasn't copied
|
||||||
// yet, because we are going to change it in place. Avoids changing
|
// yet, because we are going to change it in place. Avoids changing
|
||||||
// the buffer name for "%:8".
|
// the buffer name for "%:8".
|
||||||
if (*fnamelen < (int)STRLEN(*fnamep) || *fnamep == fname_start)
|
if (*fnamelen < STRLEN(*fnamep) || *fnamep == fname_start)
|
||||||
{
|
{
|
||||||
p = vim_strnsave(*fnamep, *fnamelen);
|
p = vim_strnsave(*fnamep, *fnamelen);
|
||||||
if (p == NULL)
|
if (p == NULL)
|
||||||
@ -555,7 +557,7 @@ repeat:
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int l = *fnamelen;
|
size_t l = *fnamelen;
|
||||||
|
|
||||||
// Simple case, already have the full-name.
|
// Simple case, already have the full-name.
|
||||||
// Nearly always shorter, so try first time.
|
// Nearly always shorter, so try first time.
|
||||||
@ -578,7 +580,7 @@ repeat:
|
|||||||
if (src[*usedlen] == ':' && src[*usedlen + 1] == 't')
|
if (src[*usedlen] == ':' && src[*usedlen + 1] == 't')
|
||||||
{
|
{
|
||||||
*usedlen += 2;
|
*usedlen += 2;
|
||||||
*fnamelen -= (int)(tail - *fnamep);
|
*fnamelen -= tail - *fnamep;
|
||||||
*fnamep = tail;
|
*fnamep = tail;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -601,7 +603,7 @@ repeat:
|
|||||||
{
|
{
|
||||||
if (s > tail)
|
if (s > tail)
|
||||||
{
|
{
|
||||||
*fnamelen += (int)(*fnamep - (s + 1));
|
*fnamelen += (*fnamep - (s + 1));
|
||||||
*fnamep = s + 1;
|
*fnamep = s + 1;
|
||||||
#ifdef VMS
|
#ifdef VMS
|
||||||
// cut version from the extension
|
// cut version from the extension
|
||||||
@ -623,7 +625,7 @@ repeat:
|
|||||||
if (limit < tail)
|
if (limit < tail)
|
||||||
limit = tail;
|
limit = tail;
|
||||||
if (s > limit) // remove one extension
|
if (s > limit) // remove one extension
|
||||||
*fnamelen = (int)(s - *fnamep);
|
*fnamelen = s - *fnamep;
|
||||||
}
|
}
|
||||||
*usedlen += 2;
|
*usedlen += 2;
|
||||||
}
|
}
|
||||||
@ -675,7 +677,7 @@ repeat:
|
|||||||
if (s != NULL)
|
if (s != NULL)
|
||||||
{
|
{
|
||||||
*fnamep = s;
|
*fnamep = s;
|
||||||
*fnamelen = (int)slen;
|
*fnamelen = slen;
|
||||||
vim_free(*bufp);
|
vim_free(*bufp);
|
||||||
*bufp = s;
|
*bufp = s;
|
||||||
didit = TRUE;
|
didit = TRUE;
|
||||||
@ -706,7 +708,7 @@ repeat:
|
|||||||
return -1;
|
return -1;
|
||||||
vim_free(*bufp);
|
vim_free(*bufp);
|
||||||
*bufp = *fnamep = p;
|
*bufp = *fnamep = p;
|
||||||
*fnamelen = (int)STRLEN(p);
|
*fnamelen = STRLEN(p);
|
||||||
*usedlen += 2;
|
*usedlen += 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1041,7 +1043,7 @@ f_fnamemodify(typval_T *argvars, typval_T *rettv)
|
|||||||
char_u *fname;
|
char_u *fname;
|
||||||
char_u *mods;
|
char_u *mods;
|
||||||
size_t usedlen = 0;
|
size_t usedlen = 0;
|
||||||
int len = 0;
|
size_t len = 0;
|
||||||
char_u *fbuf = NULL;
|
char_u *fbuf = NULL;
|
||||||
char_u buf[NUMBUFLEN];
|
char_u buf[NUMBUFLEN];
|
||||||
|
|
||||||
@ -1056,7 +1058,7 @@ f_fnamemodify(typval_T *argvars, typval_T *rettv)
|
|||||||
fname = NULL;
|
fname = NULL;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
len = (int)STRLEN(fname);
|
len = STRLEN(fname);
|
||||||
if (mods != NULL && *mods != NUL)
|
if (mods != NULL && *mods != NUL)
|
||||||
(void)modify_fname(mods, FALSE, &usedlen, &fname, &fbuf, &len);
|
(void)modify_fname(mods, FALSE, &usedlen, &fname, &fbuf, &len);
|
||||||
}
|
}
|
||||||
@ -2735,13 +2737,13 @@ home_replace(
|
|||||||
if (homedir_env != NULL && *homedir_env == '~')
|
if (homedir_env != NULL && *homedir_env == '~')
|
||||||
{
|
{
|
||||||
size_t usedlen = 0;
|
size_t usedlen = 0;
|
||||||
int flen;
|
size_t flen;
|
||||||
char_u *fbuf = NULL;
|
char_u *fbuf = NULL;
|
||||||
|
|
||||||
flen = (int)STRLEN(homedir_env);
|
flen = STRLEN(homedir_env);
|
||||||
(void)modify_fname((char_u *)":p", FALSE, &usedlen,
|
(void)modify_fname((char_u *)":p", FALSE, &usedlen,
|
||||||
&homedir_env, &fbuf, &flen);
|
&homedir_env, &fbuf, &flen);
|
||||||
flen = (int)STRLEN(homedir_env);
|
flen = STRLEN(homedir_env);
|
||||||
if (flen > 0 && vim_ispathsep(homedir_env[flen - 1]))
|
if (flen > 0 && vim_ispathsep(homedir_env[flen - 1]))
|
||||||
// Remove the trailing / that is added to a directory.
|
// Remove the trailing / that is added to a directory.
|
||||||
homedir_env[flen - 1] = NUL;
|
homedir_env[flen - 1] = NUL;
|
||||||
|
@ -540,7 +540,7 @@ cs_add_common(
|
|||||||
char *fname2 = NULL;
|
char *fname2 = NULL;
|
||||||
char *ppath = NULL;
|
char *ppath = NULL;
|
||||||
int i;
|
int i;
|
||||||
int len;
|
size_t len;
|
||||||
size_t usedlen = 0;
|
size_t usedlen = 0;
|
||||||
char_u *fbuf = NULL;
|
char_u *fbuf = NULL;
|
||||||
|
|
||||||
@ -549,7 +549,7 @@ cs_add_common(
|
|||||||
goto add_err;
|
goto add_err;
|
||||||
|
|
||||||
expand_env((char_u *)arg1, (char_u *)fname, MAXPATHL);
|
expand_env((char_u *)arg1, (char_u *)fname, MAXPATHL);
|
||||||
len = (int)STRLEN(fname);
|
len = STRLEN(fname);
|
||||||
fbuf = (char_u *)fname;
|
fbuf = (char_u *)fname;
|
||||||
(void)modify_fname((char_u *)":p", FALSE, &usedlen,
|
(void)modify_fname((char_u *)":p", FALSE, &usedlen,
|
||||||
(char_u **)&fname, &fbuf, &len);
|
(char_u **)&fname, &fbuf, &len);
|
||||||
|
@ -8452,7 +8452,7 @@ vimrc_found(char_u *fname, char_u *envname)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
else
|
else
|
||||||
(void)modify_fname((char_u *)":h", FALSE, &usedlen, &p, &fbuf, (int *)&len);
|
(void)modify_fname((char_u *)":h", FALSE, &usedlen, &p, &fbuf, &len);
|
||||||
|
|
||||||
if (p != NULL)
|
if (p != NULL)
|
||||||
{
|
{
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* filepath.c */
|
/* filepath.c */
|
||||||
int modify_fname(char_u *src, int tilde_file, size_t *usedlen, char_u **fnamep, char_u **bufp, int *fnamelen);
|
int modify_fname(char_u *src, int tilde_file, size_t *usedlen, char_u **fnamep, char_u **bufp, size_t *fnamelen);
|
||||||
void shorten_dir(char_u *str);
|
void shorten_dir(char_u *str);
|
||||||
int file_is_readable(char_u *fname);
|
int file_is_readable(char_u *fname);
|
||||||
void f_chdir(typval_T *argvars, typval_T *rettv);
|
void f_chdir(typval_T *argvars, typval_T *rettv);
|
||||||
|
@ -704,6 +704,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
959,
|
||||||
/**/
|
/**/
|
||||||
958,
|
958,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user