aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/syntax.c
diff options
context:
space:
mode:
authorFelipe Oliveira Carvalho <felipekde@gmail.com>2014-12-11 13:05:37 -0300
committerFelipe Oliveira Carvalho <felipekde@gmail.com>2014-12-11 20:22:37 -0300
commite11a5699be83684294c8c235a5f5030e12666206 (patch)
treefa092586a053b42d83052f51b9baac8f36b29817 /src/nvim/syntax.c
parent8ee5659d83383d857039f8fc58d7ebc21df27905 (diff)
downloadrneovim-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.c16
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(&current_state);
+# define UNREF_STATEITEM_EXTMATCH(si) unref_extmatch((si)->si_extmatch)
+ GA_DEEP_CLEAR(&current_state, stateitem_T, UNREF_STATEITEM_EXTMATCH);
}
/*