From ebabdff5cd24f2d30ab35051d1d65f7c29fa3dd3 Mon Sep 17 00:00:00 2001 From: ZyX Date: Sun, 13 Jul 2014 11:10:27 +0400 Subject: keymap: Make replace_termcodes and friends accept length and cpo_flags Reasons: - One does not have to do `s[len] = NUL` to work with these functions if they do not need to replace the whole string: thus `s` may be const. - One does not have to save/restore p_cpo to work with them. --- src/nvim/option.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/nvim/option.c') diff --git a/src/nvim/option.c b/src/nvim/option.c index 5efd71444a..9942d154e1 100644 --- a/src/nvim/option.c +++ b/src/nvim/option.c @@ -2964,7 +2964,8 @@ did_set_string_option ( /* 'pastetoggle': translate key codes like in a mapping */ else if (varp == &p_pt) { if (*p_pt) { - (void)replace_termcodes(p_pt, &p, TRUE, TRUE, FALSE); + (void)replace_termcodes(p_pt, STRLEN(p_pt), &p, true, true, false, + CPO_TO_CPO_FLAGS); if (p != NULL) { if (new_value_alloced) free_string_option(p_pt); @@ -4656,7 +4657,7 @@ char_u *get_highlight_default(void) /* * Translate a string like "t_xx", "" or "" to a key number. */ -static int find_key_option(char_u *arg) +static int find_key_option(const char_u *arg) { int key; int modifiers; @@ -4670,9 +4671,10 @@ static int find_key_option(char_u *arg) else { --arg; /* put arg at the '<' */ modifiers = 0; - key = find_special_key(&arg, &modifiers, TRUE, TRUE); - if (modifiers) /* can't handle modifiers here */ + key = find_special_key(&arg, STRLEN(arg), &modifiers, true, true); + if (modifiers) { // can't handle modifiers here key = 0; + } } return key; } -- cgit