diff options
author | Felipe Oliveira Carvalho <felipekde@gmail.com> | 2014-12-11 13:05:37 -0300 |
---|---|---|
committer | Felipe Oliveira Carvalho <felipekde@gmail.com> | 2014-12-11 20:22:37 -0300 |
commit | e11a5699be83684294c8c235a5f5030e12666206 (patch) | |
tree | fa092586a053b42d83052f51b9baac8f36b29817 /src/nvim/syntax.c | |
parent | 8ee5659d83383d857039f8fc58d7ebc21df27905 (diff) | |
download | rneovim-e11a5699be83684294c8c235a5f5030e12666206.tar.gz rneovim-e11a5699be83684294c8c235a5f5030e12666206.tar.bz2 rneovim-e11a5699be83684294c8c235a5f5030e12666206.zip |
Use GA_DEEP_CLEAR where appropriate
Diffstat (limited to 'src/nvim/syntax.c')
-rw-r--r-- | src/nvim/syntax.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/src/nvim/syntax.c b/src/nvim/syntax.c index 45b42730bc..896f27f9e4 100644 --- a/src/nvim/syntax.c +++ b/src/nvim/syntax.c @@ -550,14 +550,9 @@ void syntax_start(win_T *wp, linenr_T lnum) */ static void clear_syn_state(synstate_T *p) { - garray_T *gap; - if (p->sst_stacksize > SST_FIX_STATES) { - gap = &(p->sst_union.sst_ga); - for (int i = 0; i < gap->ga_len; i++) { - unref_extmatch(SYN_STATE_P(gap)[i].bs_extmatch); - } - ga_clear(gap); +# define UNREF_BUFSTATE_EXTMATCH(bs) unref_extmatch((bs)->bs_extmatch) + GA_DEEP_CLEAR(&(p->sst_union.sst_ga), bufstate_T, UNREF_BUFSTATE_EXTMATCH); } else { for (int i = 0; i < p->sst_stacksize; i++) { unref_extmatch(p->sst_union.sst_stack[i].bs_extmatch); @@ -570,11 +565,8 @@ static void clear_syn_state(synstate_T *p) */ static void clear_current_state(void) { - stateitem_T *sip = (stateitem_T *)(current_state.ga_data); - for (int i = 0; i < current_state.ga_len; i++) { - unref_extmatch(sip[i].si_extmatch); - } - ga_clear(¤t_state); +# define UNREF_STATEITEM_EXTMATCH(si) unref_extmatch((si)->si_extmatch) + GA_DEEP_CLEAR(¤t_state, stateitem_T, UNREF_STATEITEM_EXTMATCH); } /* |