提交 35fd7104 authored 作者: Brian West's avatar Brian West

ESL fixes

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12230 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 c5d6f3f4
......@@ -916,30 +916,18 @@ ESL_DECLARE(esl_status_t) esl_recv_event(esl_handle_t *handle, esl_event_t **sav
}
beg = c + 1;
}
free(body);
if ((cl = esl_event_get_header(handle->last_ievent, "content-length"))) {
esl_ssize_t sofar = 0;
len = atol(cl);
body = malloc(len+1);
esl_assert(body);
*(body + len) = '\0';
do {
esl_ssize_t r;
if ((r = recv(handle->sock, body + sofar, len - sofar, 0)) < 0) {
strerror_r(handle->errnum, handle->err, sizeof(handle->err));
goto fail;
if (*beg == '\n') {
beg++;
break;
}
}
sofar += r;
} while (sofar < len);
handle->last_ievent->body = body;
if ((cl = esl_event_get_header(handle->last_ievent, "content-length"))) {
handle->last_ievent->body = strdup(beg);
}
free(body);
if (esl_log_level >= 7) {
char *foo;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论