patch 9.1.0449: MS-Windows: Compiler warnings
Commit:
https://github.com/vim/vim/commit/51024bbc1a9e298b1fb8f2e465fccb5db409551e
Author: Mike Williams <[email protected]>
Date: Thu May 30 07:46:30 2024 +0200
patch 9.1.0449: MS-Windows: Compiler warnings
Problem: MS-Windows: Compiler warnings
Solution: Resolve size_t to int warnings
closes: #14874
A couple of warnings in ex_docmd.c have been resolved by modifying their
function argument types, followed by some changes in various function
call sites. This also allowed removal of some casts to cope with
size_t/int conversion.
Signed-off-by: Mike Williams <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>
diff --git a/src/evalfunc.c b/src/evalfunc.c
index d53dda457..6e1eb037e 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -4458,7 +4458,7 @@ f_exists_compiled(typval_T *argvars UNUSED, typval_T
*rettv UNUSED)
f_expand(typval_T *argvars, typval_T *rettv)
{
char_u *s;
- int len;
+ size_t len;
int options = WILD_SILENT|WILD_USE_NL|WILD_LIST_NOTFOUND;
expand_T xpc;
int error = FALSE;
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index c2aaca065..71bfa9322 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -5077,7 +5077,7 @@ expand_filename(
{
int has_wildcards; // need to expand wildcards
char_u *repl;
- int srclen;
+ size_t srclen;
char_u *p;
int n;
int escaped;
@@ -5201,7 +5201,7 @@ expand_filename(
}
}
- p = repl_cmdline(eap, p, (size_t)srclen, repl, cmdlinep);
+ p = repl_cmdline(eap, p, srclen, repl, cmdlinep);
vim_free(repl);
if (p == NULL)
return FAIL;
@@ -9363,7 +9363,7 @@ enum {
* the variable. Otherwise return -1 and "*usedlen" is unchanged.
*/
int
-find_cmdline_var(char_u *src, int *usedlen)
+find_cmdline_var(char_u *src, size_t *usedlen)
{
// must be sorted by the 'value' field because it is used by bsearch()!
static keyvalue_T spec_str_tab[] = {
@@ -9444,7 +9444,7 @@ find_cmdline_var(char_u *src, int *usedlen)
eval_vars(
char_u *src, // pointer into commandline
char_u *srcstart, // beginning of valid memory for src
- int *usedlen, // characters after src that are used
+ size_t *usedlen, // characters after src that are used
linenr_T *lnump, // line number for :e command, or NULL
char **errormsg, // pointer to error message
int *escaped, // return value has escaped white space
(can
@@ -9514,7 +9514,7 @@ eval_vars(
*/
else
{
- int off = 0;
+ size_t off = 0;
switch (spec_idx)
{
@@ -9781,7 +9781,7 @@ expand_sfile(char_u *arg)
size_t len;
char_u *repl;
size_t repllen;
- int srclen;
+ size_t srclen;
char_u *p;
resultlen = STRLEN(arg);
diff --git a/src/filepath.c b/src/filepath.c
index 3bf8a2d26..e68075a45 100644
--- a/src/filepath.c
+++ b/src/filepath.c
@@ -292,7 +292,7 @@ shortpath_for_partial(
modify_fname(
char_u *src, // string with modifiers
int tilde_file, // "~" is a file name, not $HOME
- int *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 **bufp, // buffer for allocated file name or NULL
int *fnamelen) // length of fnamep
@@ -668,7 +668,7 @@ repeat:
str = vim_strnsave(*fnamep, *fnamelen);
if (sub != NULL && str != NULL)
{
- *usedlen = (int)(p + 1 - src);
+ *usedlen = p + 1 - src;
s = do_string_sub(str, pat, sub, NULL, flags);
if (s != NULL)
{
@@ -1038,7 +1038,7 @@ f_fnamemodify(typval_T *argvars, typval_T *rettv)
{
char_u *fname;
char_u *mods;
- int usedlen = 0;
+ size_t usedlen = 0;
int len = 0;
char_u *fbuf = NULL;
char_u buf[NUMBUFLEN];
@@ -2707,7 +2707,7 @@ home_replace(
if (homedir_env != NULL && *homedir_env == '~')
{
- int usedlen = 0;
+ size_t usedlen = 0;
int flen;
char_u *fbuf = NULL;
@@ -3170,7 +3170,7 @@ expand_wildcards_eval(
char_u *eval_pat = NULL;
char_u *exp_pat = *pat;
char *ignored_msg;
- int usedlen;
+ size_t usedlen;
int is_cur_alt_file = *exp_pat == '%' || *exp_pat == '#';
int star_follows = FALSE;
diff --git a/src/if_cscope.c b/src/if_cscope.c
index d9982ef16..7b6fd926e 100644
--- a/src/if_cscope.c
+++ b/src/if_cscope.c
@@ -541,7 +541,7 @@ cs_add_common(
char *ppath = NULL;
int i;
int len;
- int usedlen = 0;
+ size_t usedlen = 0;
char_u *fbuf = NULL;
// get the filename (arg1), expand it, and try to stat it
diff --git a/src/proto/ex_docmd.pro b/src/proto/ex_docmd.pro
index 3fd20b27a..3bd7705cb 100644
--- a/src/proto/ex_docmd.pro
+++ b/src/proto/ex_docmd.pro
@@ -66,8 +66,8 @@ void restore_current_state(save_state_T *sst);
void ex_normal(exarg_T *eap);
void exec_normal_cmd(char_u *cmd, int remap, int silent);
void exec_normal(int was_typed, int use_vpeekc, int may_use_terminal_loop);
-int find_cmdline_var(char_u *src, int *usedlen);
-char_u *eval_vars(char_u *src, char_u *srcstart, int *usedlen, linenr_T
*lnump, char **errormsg, int *escaped, int empty_is_error);
+int find_cmdline_var(char_u *src, size_t *usedlen);
+char_u *eval_vars(char_u *src, char_u *srcstart, size_t *usedlen, linenr_T
*lnump, char **errormsg, int *escaped, int empty_is_error);
char_u *expand_sfile(char_u *arg);
void dialog_msg(char_u *buff, char *format, char_u *fname);
void set_no_hlsearch(int flag);
diff --git a/src/proto/filepath.pro b/src/proto/filepath.pro
index fd8de8037..53fa4ec3f 100644
--- a/src/proto/filepath.pro
+++ b/src/proto/filepath.pro
@@ -1,5 +1,5 @@
/* filepath.c */
-int modify_fname(char_u *src, int tilde_file, int *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, int *fnamelen);
void shorten_dir(char_u *str);
int file_is_readable(char_u *fname);
void f_chdir(typval_T *argvars, typval_T *rettv);
diff --git a/src/strings.c b/src/strings.c
index 33de175f2..9b66ee0e4 100644
--- a/src/strings.c
+++ b/src/strings.c
@@ -151,7 +151,7 @@ vim_strsave_shellescape(char_u *string, int do_special, int
do_newline)
char_u *p;
char_u *d;
char_u *escaped_string;
- int l;
+ size_t l;
int csh_like;
int fish_like;
char_u *shname;
@@ -269,11 +269,12 @@ vim_strsave_shellescape(char_u *string, int do_special,
int do_newline)
*d++ = *p++;
continue;
}
- if (do_special && find_cmdline_var(p, &l) >= 0)
+ if (do_special && find_cmdline_var(p, &l) >= 0 && l > 0)
{
*d++ = '\'; // insert backslash
- while (--l >= 0) // copy the var
+ do // copy the var
*d++ = *p++;
+ while (--l > 0);
continue;
}
if (*p == '\' && fish_like)
diff --git a/src/version.c b/src/version.c
index 8a1cab3f2..6871bf978 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 449,
/**/
448,
/**/
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/E1sCYpa-00GBKq-12%40256bit.org.