}
r = &receivers[receiver_num];
rn.receiver = r;
+ if (conf.buffer_tree_given)
+ rn.btrn = btr_new_node("receiver", NULL, NULL, NULL);
ret = r->open(&rn);
if (ret < 0)
goto out;
r_opened = 1;
if (conf.buffer_tree_given)
- sot.btrn = btr_new_node("stdout", rn.btrn);
+ sot.btrn = btr_new_node("stdout", rn.btrn, NULL, NULL);
stdout_set_defaults(&sot);
sot.bufp = &rn.buf;
out:
if (r_opened)
r->close(&rn);
+ if (conf.buffer_tree_given) {
+ btr_free_node(rn.btrn);
+ btr_free_node(sot.btrn);
+ }
+ free(rn.conf);
if (r)
r->shutdown();
if (ret < 0)