MEDIUM: http: remove buffer arg in http_buffer_heavy_realign
The buffer pointer is now taken from the http_msg. The function has also
been renamed "http_message_realign".
diff --git a/src/proto_http.c b/src/proto_http.c
index d1a0706..61cef26 100644
--- a/src/proto_http.c
+++ b/src/proto_http.c
@@ -1954,9 +1954,13 @@
return 1;
}
-/* This function may only be used when the buffer's o is empty */
-void http_buffer_heavy_realign(struct buffer *buf, struct http_msg *msg)
+/* This function realigns a possibly wrapping http message at the beginning
+ * of its buffer. The function may only be used when the buffer's tail is
+ * empty.
+ */
+void http_message_realign(struct http_msg *msg)
{
+ struct buffer *buf = msg->buf;
int off = buf->data + buf->size - buf->p;
/* two possible cases :
@@ -2060,7 +2064,7 @@
}
if (buffer_wrap_add(req, req->p + req->i) < buffer_wrap_add(req, req->p + msg->next) ||
buffer_wrap_add(req, req->p + req->i) > req->data + req->size - global.tune.maxrewrite)
- http_buffer_heavy_realign(req, msg);
+ http_message_realign(msg);
}
/* Note that we have the same problem with the response ; we
@@ -4470,7 +4474,7 @@
return 0;
}
if (rep->i <= rep->size - global.tune.maxrewrite)
- http_buffer_heavy_realign(rep, msg);
+ http_message_realign(msg);
}
if (likely(msg->next < rep->i))