diff --git a/c/mapping/mapper_put.c b/c/mapping/mapper_put.c index b32416bf7..009873762 100644 --- a/c/mapping/mapper_put.c +++ b/c/mapping/mapper_put.c @@ -220,13 +220,11 @@ static sllv_t* mapper_put_process(lrec_t* pinrec, context_t* pctx, void* pvstate // Filter statement mv_t val = pevaluator->pprocess_func(pinrec, pctx, pevaluator->pvstate); if (val.type == MT_NULL) { - lrec_free(pinrec); - return NULL; + break; } mv_set_boolean_strict(&val); if (!(val.u.boolv ^ pstate->filter_exclude)) { - lrec_free(pinrec); - return NULL; + break; } } } diff --git a/c/todo.txt b/c/todo.txt index d1b2a1799..ee91f1112 100644 --- a/c/todo.txt +++ b/c/todo.txt @@ -8,6 +8,8 @@ TOP OF LIST * filter-then-put with capture-groups ! bracing @ mld:ref:put + + ! code/doc put-filter -> expression gate. & restore full filter-doc section at mld. o expanded lrec_context or some such for the regex backcaptures; or (better) within lrec_t itself ! pointer integrity for backcaptures followed by unlinks/renames etc. ... strdup them? o name clash for \1 \2 etc.: