Mercurial > vim
diff src/vim9compile.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 | 49d692e015cc |
children | 628011800942 |
line wrap: on
line diff
--- a/src/vim9compile.c +++ b/src/vim9compile.c @@ -5617,7 +5617,7 @@ compile_def_function(ufunc_T *ufunc, int if (ga_grow(&def_functions, 1) == FAIL) return; dfunc = ((dfunc_T *)def_functions.ga_data) + def_functions.ga_len; - vim_memset(dfunc, 0, sizeof(dfunc_T)); + CLEAR_POINTER(dfunc); dfunc->df_idx = def_functions.ga_len; ufunc->uf_dfunc_idx = dfunc->df_idx; dfunc->df_ufunc = ufunc; @@ -5625,7 +5625,7 @@ compile_def_function(ufunc_T *ufunc, int } } - vim_memset(&cctx, 0, sizeof(cctx)); + CLEAR_FIELD(cctx); cctx.ctx_ufunc = ufunc; cctx.ctx_lnum = -1; ga_init2(&cctx.ctx_locals, sizeof(lvar_T), 10); @@ -5713,7 +5713,7 @@ compile_def_function(ufunc_T *ufunc, int emsg_before = called_emsg; had_return = FALSE; - vim_memset(&ea, 0, sizeof(ea)); + CLEAR_FIELD(ea); ea.cmdlinep = &line; ea.cmd = skipwhite(line);