Mercurial > vim
diff src/syntax.c @ 20007:aadd1cae2ff5 v8.2.0559
patch 8.2.0559: clearing a struct is verbose
Commit: https://github.com/vim/vim/commit/a80faa8930ed5a554beeb2727762538873135e83
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Apr 12 19:37:17 2020 +0200
patch 8.2.0559: clearing a struct is verbose
Problem: Clearing a struct is verbose.
Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER().
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 12 Apr 2020 19:45:05 +0200 |
parents | 3ff714d765ba |
children | 513c62184ed8 |
line wrap: on
line diff
--- a/src/syntax.c +++ b/src/syntax.c @@ -2750,7 +2750,7 @@ push_current_state(int idx) { if (ga_grow(¤t_state, 1) == FAIL) return FAIL; - vim_memset(&CUR_STATE(current_state.ga_len), 0, sizeof(stateitem_T)); + CLEAR_POINTER(&CUR_STATE(current_state.ga_len)); CUR_STATE(current_state.ga_len).si_idx = idx; ++current_state.ga_len; return OK; @@ -4908,7 +4908,7 @@ syn_cmd_match( // get the pattern. init_syn_patterns(); - vim_memset(&item, 0, sizeof(item)); + CLEAR_FIELD(item); rest = get_syn_pattern(rest, &item); if (vim_regcomp_had_eol() && !(syn_opt_arg.flags & HL_EXCLUDENL)) syn_opt_arg.flags |= HL_HAS_EOL; @@ -5481,7 +5481,7 @@ syn_add_cluster(char_u *name) return 0; } - vim_memset(&(SYN_CLSTR(curwin->w_s)[len]), 0, sizeof(syn_cluster_T)); + CLEAR_POINTER(&(SYN_CLSTR(curwin->w_s)[len])); SYN_CLSTR(curwin->w_s)[len].scl_name = name; SYN_CLSTR(curwin->w_s)[len].scl_name_u = vim_strsave_up(name); SYN_CLSTR(curwin->w_s)[len].scl_list = NULL;