Mercurial > vim
diff src/ops.c @ 13244:ac42c4b11dbc v8.0.1496
patch 8.0.1496: clearing a pointer takes two lines
commit https://github.com/vim/vim/commit/d23a823669d93fb2a570a039173eefe4856ac806
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Feb 10 18:45:26 2018 +0100
patch 8.0.1496: clearing a pointer takes two lines
Problem: Clearing a pointer takes two lines.
Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
closes #2629)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 10 Feb 2018 19:00:07 +0100 |
parents | 2941a86f8aaa |
children | 88cc06dc1a50 |
line wrap: on
line diff
--- a/src/ops.c +++ b/src/ops.c @@ -1235,8 +1235,7 @@ do_execreg( EMSG(_(e_nolastcmd)); return FAIL; } - vim_free(new_last_cmdline); /* don't keep the cmdline containing @: */ - new_last_cmdline = NULL; + VIM_CLEAR(new_last_cmdline); /* don't keep the cmdline containing @: */ /* Escape all control characters with a CTRL-V */ p = vim_strsave_escaped_ext(last_cmdline, (char_u *)"\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037", Ctrl_V, FALSE); @@ -2995,8 +2994,7 @@ free_yank(long n) #endif vim_free(y_current->y_array[i]); } - vim_free(y_current->y_array); - y_current->y_array = NULL; + VIM_CLEAR(y_current->y_array); #ifdef AMIGA if (n >= 1000) MSG(""); @@ -6040,8 +6038,7 @@ finish_viminfo_registers(void) vim_free(y_read_regs[i].y_array[j]); vim_free(y_read_regs[i].y_array); } - vim_free(y_read_regs); - y_read_regs = NULL; + VIM_CLEAR(y_read_regs); } } @@ -7146,8 +7143,7 @@ str_to_reg( /* Without any lines make the register empty. */ if (y_ptr->y_size + newlines == 0) { - vim_free(y_ptr->y_array); - y_ptr->y_array = NULL; + VIM_CLEAR(y_ptr->y_array); return; }