summaryrefslogtreecommitdiffstats
path: root/src/option.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-09-22 13:57:32 +0100
committerBram Moolenaar <Bram@vim.org>2022-09-22 13:57:32 +0100
commitfcba86c0316dc0d6341078b50e7967206a1627a0 (patch)
tree0b9a15b15ca644e7be2ec329481a5ae9cb29fc8b /src/option.c
parente24b5e0b0f5ab015215ef2761baa98ccb1ba8606 (diff)
patch 9.0.0544: minor issues with setting a string optionv9.0.0544
Problem: Minor issues with setting a string option. Solution: Adjust the code, add a test. (closes #11192)
Diffstat (limited to 'src/option.c')
-rw-r--r--src/option.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/option.c b/src/option.c
index 5867962403..6052b38b9e 100644
--- a/src/option.c
+++ b/src/option.c
@@ -1323,13 +1323,11 @@ do_set_string(
/*
* Set 'keywordprg' to ":help" if an empty
* value was passed to :set by the user.
- * Misuse errbuf[] for the resulting string.
*/
if (varp == (char_u *)&p_kp && (*arg == NUL || *arg == ' '))
{
- STRCPY(errbuf, ":help");
save_arg = arg;
- arg = (char_u *)errbuf;
+ arg = (char_u *)":help";
}
/*
* Convert 'backspace' number to string, for
@@ -1417,7 +1415,7 @@ do_set_string(
* but do remove it for "\\\\machine\\path".
* The reverse is found in ExpandOldSetting().
*/
- while (*arg && !VIM_ISWHITE(*arg))
+ while (*arg != NUL && !VIM_ISWHITE(*arg))
{
int i;
@@ -1427,7 +1425,7 @@ do_set_string(
&& vim_isfilec(arg[1])
&& !VIM_ISWHITE(arg[1])
&& (arg[1] != '\\'
- || (s == newval && arg[2] != '\\')))
+ || (s == newval && arg[2] != '\\')))
#endif
)
++arg; // remove backslash
@@ -1565,8 +1563,8 @@ do_set_string(
}
}
- if (save_arg != NULL) // number for 'whichwrap'
- arg = save_arg;
+ if (save_arg != NULL)
+ arg = save_arg; // arg was temporarily changed, restore it
}
/*