summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Williams <mrmrdubya@gmail.com>2024-05-30 07:46:30 +0200
committerChristian Brabandt <cb@256bit.org>2024-05-30 07:46:30 +0200
commit51024bbc1a9e298b1fb8f2e465fccb5db409551e (patch)
tree5da6ae660fbc1ab6a6f54f08741e1e6d00f1a461
parent8904d672befb496cf224f01bc042683bb6120e81 (diff)
patch 9.1.0449: MS-Windows: Compiler warningsv9.1.0449
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 <mrmrdubya@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
-rw-r--r--src/evalfunc.c2
-rw-r--r--src/ex_docmd.c12
-rw-r--r--src/filepath.c10
-rw-r--r--src/if_cscope.c2
-rw-r--r--src/proto/ex_docmd.pro4
-rw-r--r--src/proto/filepath.pro2
-rw-r--r--src/strings.c7
-rw-r--r--src/version.c2
8 files changed, 22 insertions, 19 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c
index d53dda4576..6e1eb037e4 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 c2aaca0656..71bfa93222 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 3bf8a2d269..e68075a45e 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 d9982ef164..7b6fd926ef 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 3fd20b27a7..3bd7705cb4 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 fd8de80379..53fa4ec3ff 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 33de175f29..9b66ee0e4a 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 8a1cab3f29..6871bf9780 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 449,
+/**/
448,
/**/
447,