- Fix some memory leaks.
- kill http_recv's -B option.
- Move btr node creation to recv.c.
include(header.m4)
-include(buffer_tree.m4)
<qu>
option "host" i
close(phd->fd);
free(rn->buf);
free(rn->private_data);
+ http_recv_cmdline_parser_free(rn->conf);
}
static void *http_recv_parse_config(int argc, char **argv)
rn->private_data = phd = para_calloc(sizeof(struct private_http_recv_data));
phd->fd = fd;
phd->status = HTTP_CONNECTED;
- if (conf->buffer_tree_given)
- rn->btrn = btr_new_node("receiver", NULL, NULL, NULL);
return 1;
}
}
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;
ret = schedule(&s);
out:
- if (conf.buffer_tree_given)
- btr_free_node(sot.btrn);
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)