diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-09-22 13:57:32 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-09-22 13:57:32 +0100 |
commit | fcba86c0316dc0d6341078b50e7967206a1627a0 (patch) | |
tree | 0b9a15b15ca644e7be2ec329481a5ae9cb29fc8b /src/option.c | |
parent | e24b5e0b0f5ab015215ef2761baa98ccb1ba8606 (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.c | 12 |
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 } /* |