diff options
Diffstat (limited to 'src/nvim/edit.c')
-rw-r--r-- | src/nvim/edit.c | 53 |
1 files changed, 21 insertions, 32 deletions
diff --git a/src/nvim/edit.c b/src/nvim/edit.c index 49bc2ab2f0..a8dd115074 100644 --- a/src/nvim/edit.c +++ b/src/nvim/edit.c @@ -2522,8 +2522,7 @@ static void ins_compl_del_pum(void) { if (compl_match_array != NULL) { pum_undisplay(false); - xfree(compl_match_array); - compl_match_array = NULL; + XFREE_CLEAR(compl_match_array); } } @@ -2587,16 +2586,16 @@ void ins_compl_show_pum(void) // Need to build the popup menu list. compl_match_arraysize = 0; compl = compl_first_match; - /* - * If it's user complete function and refresh_always, - * not use "compl_leader" as prefix filter. - */ - if (ins_compl_need_restart()){ - xfree(compl_leader); - compl_leader = NULL; - } - if (compl_leader != NULL) + // + // If it's user complete function and refresh_always, + // do not use "compl_leader" as prefix filter. + // + if (ins_compl_need_restart()) { + XFREE_CLEAR(compl_leader); + } + if (compl_leader != NULL) { lead_len = (int)STRLEN(compl_leader); + } do { if ((compl->cp_flags & ORIGINAL_TEXT) == 0 && (compl_leader == NULL @@ -2960,10 +2959,8 @@ static void ins_compl_free(void) compl_T *match; int i; - xfree(compl_pattern); - compl_pattern = NULL; - xfree(compl_leader); - compl_leader = NULL; + XFREE_CLEAR(compl_pattern); + XFREE_CLEAR(compl_leader); if (compl_first_match == NULL) return; @@ -2993,14 +2990,11 @@ static void ins_compl_clear(void) compl_cont_status = 0; compl_started = FALSE; compl_matches = 0; - xfree(compl_pattern); - compl_pattern = NULL; - xfree(compl_leader); - compl_leader = NULL; + XFREE_CLEAR(compl_pattern); + XFREE_CLEAR(compl_leader); edit_submode_extra = NULL; - xfree(compl_orig_text); - compl_orig_text = NULL; - compl_enter_selects = FALSE; + XFREE_CLEAR(compl_orig_text); + compl_enter_selects = false; // clear v:completed_item set_vim_var_dict(VV_COMPLETED_ITEM, tv_dict_alloc()); } @@ -4960,10 +4954,8 @@ static int ins_complete(int c, bool enable_pum) compl_orig_text = vim_strnsave(line + compl_col, compl_length); if (ins_compl_add(compl_orig_text, -1, p_ic, NULL, NULL, false, 0, ORIGINAL_TEXT, false, false) != OK) { - xfree(compl_pattern); - compl_pattern = NULL; - xfree(compl_orig_text); - compl_orig_text = NULL; + XFREE_CLEAR(compl_pattern); + XFREE_CLEAR(compl_orig_text); return FAIL; } @@ -6310,10 +6302,8 @@ void set_last_insert(int c) #if defined(EXITFREE) void free_last_insert(void) { - xfree(last_insert); - last_insert = NULL; - xfree(compl_orig_text); - compl_orig_text = NULL; + XFREE_CLEAR(last_insert); + XFREE_CLEAR(compl_orig_text); } #endif @@ -6840,8 +6830,7 @@ static void mb_replace_pop_ins(int cc) */ static void replace_flush(void) { - xfree(replace_stack); - replace_stack = NULL; + XFREE_CLEAR(replace_stack); replace_stack_len = 0; replace_stack_nr = 0; } |