summaryrefslogtreecommitdiff
path: root/src/pdarun.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pdarun.c')
-rw-r--r--src/pdarun.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/pdarun.c b/src/pdarun.c
index f1885ec6..c958273e 100644
--- a/src/pdarun.c
+++ b/src/pdarun.c
@@ -180,8 +180,10 @@ static void send_back_ignore( program_t *prg, tree_t **sp,
int artificial = parse_tree->flags & PF_ARTIFICIAL;
if ( head != 0 ) {
- if ( artificial )
+ if ( artificial ) {
+ colm_tree_upref( prg, parse_tree->shadow->tree );
send_back_tree( prg, is, parse_tree->shadow->tree );
+ }
else
send_back_text( prg, is, colm_alph_from_cstr( string_data( head ) ), head->length );
}
@@ -240,7 +242,6 @@ static void send_back( program_t *prg, tree_t **sp, struct pda_run *pda_run,
}
colm_tree_upref( prg, parse_tree->shadow->tree );
-
send_back_tree( prg, is, parse_tree->shadow->tree );
}
else {