forked from aniani/vim
patch 9.0.0096: flag "new_value_alloced" is always true
Problem: Flag "new_value_alloced" is always true. Solution: Remove "new_value_alloced". (closes #10792)
This commit is contained in:
@@ -1716,8 +1716,6 @@ do_set(
|
|||||||
#endif
|
#endif
|
||||||
unsigned newlen;
|
unsigned newlen;
|
||||||
int comma;
|
int comma;
|
||||||
int new_value_alloced; // new string option
|
|
||||||
// was allocated
|
|
||||||
|
|
||||||
// When using ":set opt=val" for a global option
|
// When using ":set opt=val" for a global option
|
||||||
// with a local value the local value will be
|
// with a local value the local value will be
|
||||||
@@ -1785,13 +1783,11 @@ do_set(
|
|||||||
s = newval;
|
s = newval;
|
||||||
newval = vim_strsave(s);
|
newval = vim_strsave(s);
|
||||||
}
|
}
|
||||||
new_value_alloced = TRUE;
|
|
||||||
}
|
}
|
||||||
else if (nextchar == '<') // set to global val
|
else if (nextchar == '<') // set to global val
|
||||||
{
|
{
|
||||||
newval = vim_strsave(*(char_u **)get_varp_scope(
|
newval = vim_strsave(*(char_u **)get_varp_scope(
|
||||||
&(options[opt_idx]), OPT_GLOBAL));
|
&(options[opt_idx]), OPT_GLOBAL));
|
||||||
new_value_alloced = TRUE;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -2060,7 +2056,6 @@ do_set(
|
|||||||
|
|
||||||
if (save_arg != NULL) // number for 'whichwrap'
|
if (save_arg != NULL) // number for 'whichwrap'
|
||||||
arg = save_arg;
|
arg = save_arg;
|
||||||
new_value_alloced = TRUE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -2109,8 +2104,7 @@ do_set(
|
|||||||
// 'syntax' or 'filetype' autocommands may be
|
// 'syntax' or 'filetype' autocommands may be
|
||||||
// triggered that can cause havoc.
|
// triggered that can cause havoc.
|
||||||
errmsg = did_set_string_option(
|
errmsg = did_set_string_option(
|
||||||
opt_idx, (char_u **)varp,
|
opt_idx, (char_u **)varp, oldval, errbuf,
|
||||||
new_value_alloced, oldval, errbuf,
|
|
||||||
opt_flags, &value_checked);
|
opt_flags, &value_checked);
|
||||||
|
|
||||||
secure = secure_saved;
|
secure = secure_saved;
|
||||||
|
@@ -537,7 +537,7 @@ set_string_option(
|
|||||||
saved_newval = vim_strsave(s);
|
saved_newval = vim_strsave(s);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if ((errmsg = did_set_string_option(opt_idx, varp, TRUE, oldval, NULL,
|
if ((errmsg = did_set_string_option(opt_idx, varp, oldval, NULL,
|
||||||
opt_flags, &value_checked)) == NULL)
|
opt_flags, &value_checked)) == NULL)
|
||||||
did_set_option(opt_idx, opt_flags, TRUE, value_checked);
|
did_set_option(opt_idx, opt_flags, TRUE, value_checked);
|
||||||
|
|
||||||
@@ -639,13 +639,13 @@ check_stl_option(char_u *s)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Handle string options that need some action to perform when changed.
|
* Handle string options that need some action to perform when changed.
|
||||||
|
* The new value must be allocated.
|
||||||
* Returns NULL for success, or an unstranslated error message for an error.
|
* Returns NULL for success, or an unstranslated error message for an error.
|
||||||
*/
|
*/
|
||||||
char *
|
char *
|
||||||
did_set_string_option(
|
did_set_string_option(
|
||||||
int opt_idx, // index in options[] table
|
int opt_idx, // index in options[] table
|
||||||
char_u **varp, // pointer to the option variable
|
char_u **varp, // pointer to the option variable
|
||||||
int new_value_alloced, // new value was allocated
|
|
||||||
char_u *oldval, // previous value of the option
|
char_u *oldval, // previous value of the option
|
||||||
char *errbuf, // buffer for errors, or NULL
|
char *errbuf, // buffer for errors, or NULL
|
||||||
int opt_flags, // OPT_LOCAL and/or OPT_GLOBAL
|
int opt_flags, // OPT_LOCAL and/or OPT_GLOBAL
|
||||||
@@ -1188,10 +1188,8 @@ ambw_end:
|
|||||||
// When setting the global value to empty, make it "zip".
|
// When setting the global value to empty, make it "zip".
|
||||||
if (*p_cm == NUL)
|
if (*p_cm == NUL)
|
||||||
{
|
{
|
||||||
if (new_value_alloced)
|
|
||||||
free_string_option(p_cm);
|
free_string_option(p_cm);
|
||||||
p_cm = vim_strsave((char_u *)"zip");
|
p_cm = vim_strsave((char_u *)"zip");
|
||||||
new_value_alloced = TRUE;
|
|
||||||
}
|
}
|
||||||
// When using ":set cm=name" the local value is going to be empty.
|
// When using ":set cm=name" the local value is going to be empty.
|
||||||
// Do that here, otherwise the crypt functions will still use the
|
// Do that here, otherwise the crypt functions will still use the
|
||||||
@@ -1441,7 +1439,6 @@ ambw_end:
|
|||||||
t_colors = colors;
|
t_colors = colors;
|
||||||
if (t_colors <= 1)
|
if (t_colors <= 1)
|
||||||
{
|
{
|
||||||
if (new_value_alloced)
|
|
||||||
vim_free(T_CCO);
|
vim_free(T_CCO);
|
||||||
T_CCO = empty_option;
|
T_CCO = empty_option;
|
||||||
}
|
}
|
||||||
@@ -1511,12 +1508,8 @@ ambw_end:
|
|||||||
if (STRCMP(p, "*") == 0)
|
if (STRCMP(p, "*") == 0)
|
||||||
{
|
{
|
||||||
p = gui_mch_font_dialog(oldval);
|
p = gui_mch_font_dialog(oldval);
|
||||||
|
|
||||||
if (new_value_alloced)
|
|
||||||
free_string_option(p_guifont);
|
free_string_option(p_guifont);
|
||||||
|
|
||||||
p_guifont = (p != NULL) ? p : vim_strsave(oldval);
|
p_guifont = (p != NULL) ? p : vim_strsave(oldval);
|
||||||
new_value_alloced = TRUE;
|
|
||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
if (p != NULL && gui_init_font(p_guifont, FALSE) != OK)
|
if (p != NULL && gui_init_font(p_guifont, FALSE) != OK)
|
||||||
@@ -1526,10 +1519,8 @@ ambw_end:
|
|||||||
{
|
{
|
||||||
// Dialog was cancelled: Keep the old value without giving
|
// Dialog was cancelled: Keep the old value without giving
|
||||||
// an error message.
|
// an error message.
|
||||||
if (new_value_alloced)
|
|
||||||
free_string_option(p_guifont);
|
free_string_option(p_guifont);
|
||||||
p_guifont = vim_strsave(oldval);
|
p_guifont = vim_strsave(oldval);
|
||||||
new_value_alloced = TRUE;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
# endif
|
# endif
|
||||||
@@ -1950,10 +1941,8 @@ ambw_end:
|
|||||||
REPTERM_FROM_PART | REPTERM_DO_LT, NULL);
|
REPTERM_FROM_PART | REPTERM_DO_LT, NULL);
|
||||||
if (p != NULL)
|
if (p != NULL)
|
||||||
{
|
{
|
||||||
if (new_value_alloced)
|
|
||||||
free_string_option(p_pt);
|
free_string_option(p_pt);
|
||||||
p_pt = p;
|
p_pt = p;
|
||||||
new_value_alloced = TRUE;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2369,10 +2358,8 @@ ambw_end:
|
|||||||
name = get_scriptlocal_funcname(*p_opt);
|
name = get_scriptlocal_funcname(*p_opt);
|
||||||
if (name != NULL)
|
if (name != NULL)
|
||||||
{
|
{
|
||||||
if (new_value_alloced)
|
|
||||||
free_string_option(*p_opt);
|
free_string_option(*p_opt);
|
||||||
*p_opt = name;
|
*p_opt = name;
|
||||||
new_value_alloced = TRUE;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2486,7 +2473,6 @@ ambw_end:
|
|||||||
// If error detected, restore the previous value.
|
// If error detected, restore the previous value.
|
||||||
if (errmsg != NULL)
|
if (errmsg != NULL)
|
||||||
{
|
{
|
||||||
if (new_value_alloced)
|
|
||||||
free_string_option(*varp);
|
free_string_option(*varp);
|
||||||
*varp = oldval;
|
*varp = oldval;
|
||||||
// When resetting some values, need to act on it.
|
// When resetting some values, need to act on it.
|
||||||
@@ -2506,10 +2492,7 @@ ambw_end:
|
|||||||
// our fingers (esp. init_highlight()).
|
// our fingers (esp. init_highlight()).
|
||||||
if (free_oldval)
|
if (free_oldval)
|
||||||
free_string_option(oldval);
|
free_string_option(oldval);
|
||||||
if (new_value_alloced)
|
|
||||||
set_option_flag(opt_idx, P_ALLOCED);
|
set_option_flag(opt_idx, P_ALLOCED);
|
||||||
else
|
|
||||||
clear_option_flag(opt_idx, P_ALLOCED);
|
|
||||||
|
|
||||||
if ((opt_flags & (OPT_LOCAL | OPT_GLOBAL)) == 0
|
if ((opt_flags & (OPT_LOCAL | OPT_GLOBAL)) == 0
|
||||||
&& is_global_local_option(opt_idx))
|
&& is_global_local_option(opt_idx))
|
||||||
|
@@ -9,6 +9,6 @@ void set_string_option_direct(char_u *name, int opt_idx, char_u *val, int opt_fl
|
|||||||
void set_string_option_direct_in_win(win_T *wp, char_u *name, int opt_idx, char_u *val, int opt_flags, int set_sid);
|
void set_string_option_direct_in_win(win_T *wp, char_u *name, int opt_idx, char_u *val, int opt_flags, int set_sid);
|
||||||
void set_string_option_direct_in_buf(buf_T *buf, char_u *name, int opt_idx, char_u *val, int opt_flags, int set_sid);
|
void set_string_option_direct_in_buf(buf_T *buf, char_u *name, int opt_idx, char_u *val, int opt_flags, int set_sid);
|
||||||
char *set_string_option(int opt_idx, char_u *value, int opt_flags);
|
char *set_string_option(int opt_idx, char_u *value, int opt_flags);
|
||||||
char *did_set_string_option(int opt_idx, char_u **varp, int new_value_alloced, char_u *oldval, char *errbuf, int opt_flags, int *value_checked);
|
char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *errbuf, int opt_flags, int *value_checked);
|
||||||
int check_ff_value(char_u *p);
|
int check_ff_value(char_u *p);
|
||||||
/* vim: set ft=c : */
|
/* vim: set ft=c : */
|
||||||
|
@@ -735,6 +735,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 */
|
||||||
|
/**/
|
||||||
|
96,
|
||||||
/**/
|
/**/
|
||||||
95,
|
95,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user