From b5a9dd3bbac3d612e7df7a67c7554e8d2829658a Mon Sep 17 00:00:00 2001 From: John Kerl Date: Mon, 28 Mar 2016 16:16:43 -0400 Subject: [PATCH] neaten --- c/mapping/mlr_dsl_cst.c | 36 ++++++++++++++++++++---------------- doc/mlr.1 | 4 ++-- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/c/mapping/mlr_dsl_cst.c b/c/mapping/mlr_dsl_cst.c index 01d3104c1..b7211d62e 100644 --- a/c/mapping/mlr_dsl_cst.c +++ b/c/mapping/mlr_dsl_cst.c @@ -1005,17 +1005,19 @@ static void mlr_dsl_cst_node_evaluate_emitn( sllv_t* poutrecs) { mlr_dsl_cst_statement_item_t* pitem = pnode->pitems->phead->pvvalue; - int all_non_null_or_error = TRUE; - // xxx need two all-non-null, or nested + int keys_all_non_null_or_error = TRUE; sllmv_t* pmvkeys = evaluate_list(pitem->poosvar_lhs_keylist_evaluators, - pinrec, ptyped_overlay, poosvars, ppregex_captures, pctx, &all_non_null_or_error); - sllmv_t* pmvnames = evaluate_list(pitem->poosvar_lhs_namelist_evaluators, - pinrec, ptyped_overlay, poosvars, ppregex_captures, pctx, &all_non_null_or_error); - if (all_non_null_or_error) { - mlhmmv_to_lrecs(poosvars, pmvkeys, pmvnames, poutrecs, FALSE); + pinrec, ptyped_overlay, poosvars, ppregex_captures, pctx, &keys_all_non_null_or_error); + if (keys_all_non_null_or_error) { + int names_all_non_null_or_error = TRUE; + sllmv_t* pmvnames = evaluate_list(pitem->poosvar_lhs_namelist_evaluators, + pinrec, ptyped_overlay, poosvars, ppregex_captures, pctx, &names_all_non_null_or_error); + if (names_all_non_null_or_error) { + mlhmmv_to_lrecs(poosvars, pmvkeys, pmvnames, poutrecs, FALSE); + } + sllmv_free(pmvnames); } sllmv_free(pmvkeys); - sllmv_free(pmvnames); } // ---------------------------------------------------------------- @@ -1051,17 +1053,19 @@ static void mlr_dsl_cst_node_evaluate_emit( sllv_t* poutrecs) { mlr_dsl_cst_statement_item_t* pitem = pnode->pitems->phead->pvvalue; - int all_non_null_or_error = TRUE; - // xxx need two all-non-null, or nested + int keys_all_non_null_or_error = TRUE; sllmv_t* pmvkeys = evaluate_list(pitem->poosvar_lhs_keylist_evaluators, - pinrec, ptyped_overlay, poosvars, ppregex_captures, pctx, &all_non_null_or_error); - sllmv_t* pmvnames = evaluate_list(pitem->poosvar_lhs_namelist_evaluators, - pinrec, ptyped_overlay, poosvars, ppregex_captures, pctx, &all_non_null_or_error); - if (all_non_null_or_error) { - mlhmmv_to_lrecs(poosvars, pmvkeys, pmvnames, poutrecs, TRUE); + pinrec, ptyped_overlay, poosvars, ppregex_captures, pctx, &keys_all_non_null_or_error); + if (keys_all_non_null_or_error) { + int names_all_non_null_or_error = TRUE; + sllmv_t* pmvnames = evaluate_list(pitem->poosvar_lhs_namelist_evaluators, + pinrec, ptyped_overlay, poosvars, ppregex_captures, pctx, &names_all_non_null_or_error); + if (names_all_non_null_or_error) { + mlhmmv_to_lrecs(poosvars, pmvkeys, pmvnames, poutrecs, TRUE); + } + sllmv_free(pmvnames); } sllmv_free(pmvkeys); - sllmv_free(pmvnames); } // ---------------------------------------------------------------- diff --git a/doc/mlr.1 b/doc/mlr.1 index 6b8dc206f..e71bdaa73 100644 --- a/doc/mlr.1 +++ b/doc/mlr.1 @@ -2,12 +2,12 @@ .\" Title: mlr .\" Author: [see the "AUTHOR" section] .\" Generator: ./mkman.rb -.\" Date: 2016-03-24 +.\" Date: 2016-03-28 .\" Manual: \ \& .\" Source: \ \& .\" Language: English .\" -.TH "MILLER" "1" "2016-03-24" "\ \&" "\ \&" +.TH "MILLER" "1" "2016-03-28" "\ \&" "\ \&" .\" ----------------------------------------------------------------- .\" * Portability definitions .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~