utils: Set errno to EAGAIN in parse_chunk_header
This commit is contained in:
+1
-1
@@ -430,7 +430,7 @@ long sock_recv_chunk_header(sock *s) {
|
|||||||
buf_ptr[ret1] = 0;
|
buf_ptr[ret1] = 0;
|
||||||
|
|
||||||
if ((ret2 = parse_chunk_header(buf, (buf_ptr - buf) + ret1, &len)) == -1) {
|
if ((ret2 = parse_chunk_header(buf, (buf_ptr - buf) + ret1, &len)) == -1) {
|
||||||
if (errno == EPROTO) {
|
if (errno != EAGAIN) {
|
||||||
return -1;
|
return -1;
|
||||||
} else {
|
} else {
|
||||||
if (sock_recv_x(s, buf_ptr, ret1, 0) == -1)
|
if (sock_recv_x(s, buf_ptr, ret1, 0) == -1)
|
||||||
|
|||||||
+3
-2
@@ -424,9 +424,9 @@ long ftelll(FILE *file) {
|
|||||||
return lines + 1;
|
return lines + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
long parse_chunk_header(const char *buf, size_t len, size_t *ret_len) {
|
long parse_chunk_header(const char *buf, const size_t len, size_t *ret_len) {
|
||||||
for (int i = 0; i < len; i++) {
|
for (int i = 0; i < len; i++) {
|
||||||
char ch = buf[i];
|
const char ch = buf[i];
|
||||||
if (ch == '\r') {
|
if (ch == '\r') {
|
||||||
continue;
|
continue;
|
||||||
} else if (ch == '\n' && i > 1 && buf[i - 1] == '\r') {
|
} else if (ch == '\n' && i > 1 && buf[i - 1] == '\r') {
|
||||||
@@ -437,5 +437,6 @@ long parse_chunk_header(const char *buf, size_t len, size_t *ret_len) {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
errno = EAGAIN;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user