mirror of
https://github.com/vim/vim.git
synced 2025-10-17 07:44:28 -04:00
patch 9.1.0352: Finding cmd modifiers and cmdline-specials is inefficient
Problem: Finding cmd modifiers and cmdline-specials is inefficient Solution: Use binary search to find ex command modifiers and cmdline-special characters and reduce the number of strlen() (John Marriott) closes: #14534 Signed-off-by: John Marriott <basilisk@internode.on.net> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
094c4390bd
commit
ed908f760d
@@ -99,13 +99,14 @@ typedef struct exarg exarg_T;
|
||||
*/
|
||||
#ifdef DO_DECLARE_EXCMD
|
||||
# define EXCMD(a, b, c, d, e) \
|
||||
{(char_u *)b, c, (long_u)(d), e}
|
||||
{(char_u *)b, STRLEN_LITERAL(b), c, (long_u)(d), e}
|
||||
|
||||
typedef void (*ex_func_T) (exarg_T *eap);
|
||||
|
||||
static struct cmdname
|
||||
{
|
||||
char_u *cmd_name; // name of the command
|
||||
size_t cmd_namelen; // length of the command name
|
||||
ex_func_T cmd_func; // function for this command
|
||||
long_u cmd_argt; // flags declared above
|
||||
cmd_addr_T cmd_addr_type; // flag for address type
|
||||
|
Reference in New Issue
Block a user