}
if (conf->buffer_tree_given) {
char *buf;
- if (btr_bytes_pending(rn->btr_root) > HTTP_RECV_MAX_PENDING) {
+ if (btr_bytes_pending(rn->btrn) > HTTP_RECV_MAX_PENDING) {
t->error = -E_HTTP_RECV_OVERRUN;
return;
}
free(buf);
return;
}
- btr_add_output(buf, t->error, rn->btr_root);
+ btr_add_output(buf, t->error, rn->btrn);
return;
}
t->error = -E_HTTP_RECV_OVERRUN;
BUFSIZE - rn->loaded);
if (t->error == 0)
t->error = -E_RECV_EOF;
+ if (t->error < 0)
+ return;
+ rn->loaded += t->error;
}
static void http_recv_close(struct receiver_node *rn)