Mercurial > vim
diff src/eval.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 | 1f42c49c3d29 |
children | de756b3f4dee |
line wrap: on
line diff
--- a/src/eval.c +++ b/src/eval.c @@ -234,7 +234,7 @@ eval_expr_typval(typval_T *expr, typval_ s = expr->vval.v_string; if (s == NULL || *s == NUL) return FAIL; - vim_memset(&funcexe, 0, sizeof(funcexe)); + CLEAR_FIELD(funcexe); funcexe.evaluate = TRUE; if (call_func(s, -1, rettv, argc, argv, &funcexe) == FAIL) return FAIL; @@ -253,7 +253,7 @@ eval_expr_typval(typval_T *expr, typval_ s = partial_name(partial); if (s == NULL || *s == NUL) return FAIL; - vim_memset(&funcexe, 0, sizeof(funcexe)); + CLEAR_FIELD(funcexe); funcexe.evaluate = TRUE; funcexe.partial = partial; if (call_func(s, -1, rettv, argc, argv, &funcexe) == FAIL) @@ -475,7 +475,7 @@ call_vim_function( funcexe_T funcexe; rettv->v_type = VAR_UNKNOWN; // clear_tv() uses this - vim_memset(&funcexe, 0, sizeof(funcexe)); + CLEAR_FIELD(funcexe); funcexe.firstline = curwin->w_cursor.lnum; funcexe.lastline = curwin->w_cursor.lnum; funcexe.evaluate = TRUE; @@ -649,7 +649,7 @@ get_lval( int quiet = flags & GLV_QUIET; // Clear everything in "lp". - vim_memset(lp, 0, sizeof(lval_T)); + CLEAR_POINTER(lp); if (skip) { @@ -1715,7 +1715,7 @@ eval_func( funcexe_T funcexe; // Invoke the function. - vim_memset(&funcexe, 0, sizeof(funcexe)); + CLEAR_FIELD(funcexe); funcexe.firstline = curwin->w_cursor.lnum; funcexe.lastline = curwin->w_cursor.lnum; funcexe.evaluate = evaluate; @@ -2805,7 +2805,7 @@ call_func_rettv( else s = (char_u *)""; - vim_memset(&funcexe, 0, sizeof(funcexe)); + CLEAR_FIELD(funcexe); funcexe.firstline = curwin->w_cursor.lnum; funcexe.lastline = curwin->w_cursor.lnum; funcexe.evaluate = evaluate; @@ -5507,7 +5507,7 @@ clear_tv(typval_T *varp) init_tv(typval_T *varp) { if (varp != NULL) - vim_memset(varp, 0, sizeof(typval_T)); + CLEAR_POINTER(varp); } /*