Mercurial > vim
diff src/userfunc.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 | 8466e62a2481 |
children | c001ee73519a |
line wrap: on
line diff
--- a/src/userfunc.c +++ b/src/userfunc.c @@ -1136,7 +1136,7 @@ call_user_func( v->di_tv.v_lock = VAR_FIXED; v->di_tv.vval.v_list = &fc->l_varlist; } - vim_memset(&fc->l_varlist, 0, sizeof(list_T)); + CLEAR_FIELD(fc->l_varlist); fc->l_varlist.lv_refcount = DO_NOT_FREE_CNT; fc->l_varlist.lv_lock = VAR_FIXED; @@ -1659,7 +1659,7 @@ func_call( { funcexe_T funcexe; - vim_memset(&funcexe, 0, sizeof(funcexe)); + CLEAR_FIELD(funcexe); funcexe.firstline = curwin->w_cursor.lnum; funcexe.lastline = curwin->w_cursor.lnum; funcexe.evaluate = TRUE; @@ -1698,7 +1698,7 @@ call_callback( funcexe_T funcexe; int ret; - vim_memset(&funcexe, 0, sizeof(funcexe)); + CLEAR_FIELD(funcexe); funcexe.evaluate = TRUE; funcexe.partial = callback->cb_partial; ++callback_depth; @@ -2052,7 +2052,7 @@ trans_function_name( int vim9script; if (fdp != NULL) - vim_memset(fdp, 0, sizeof(funcdict_T)); + CLEAR_POINTER(fdp); start = *pp; // Check for hard coded <SNR>: already translated function ID (from a user @@ -3572,7 +3572,7 @@ ex_call(exarg_T *eap) } arg = startarg; - vim_memset(&funcexe, 0, sizeof(funcexe)); + CLEAR_FIELD(funcexe); funcexe.firstline = eap->line1; funcexe.lastline = eap->line2; funcexe.doesrange = &doesrange;