From: Willy Tarreau Date: Tue, 10 Jul 2018 07:59:31 +0000 (+0200) Subject: MINOR: buffer: replace bi_fast_delete() with b_del() X-Git-Tag: v1.9-dev1~83 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=72a100b386ad892cbde333e04a350ad91641db07;p=thirdparty%2Fhaproxy.git MINOR: buffer: replace bi_fast_delete() with b_del() There's no distinction between in and out data now. The latter covers the needs of the former and supports wrapping. The extra cost is negligible given the locations where it's used. --- diff --git a/include/common/buffer.h b/include/common/buffer.h index 018b19ec30..d7bfb967e4 100644 --- a/include/common/buffer.h +++ b/include/common/buffer.h @@ -104,16 +104,6 @@ static inline int buffer_almost_full(const struct buffer *buf) return b_almost_full(buf); } -/* Cut the first pending bytes in a contiguous buffer. The caller must - * ensure that is smaller than the actual buffer's length. This is mainly - * used to remove empty lines at the beginning of a request or a response. - */ -static inline void bi_fast_delete(struct buffer *buf, int n) -{ - buf->len -= n; - buf->head += n; -} - /* This function writes the string at position which must be in * buffer , and moves just after the end of . 's parameters * (l, r, lr) are updated to be valid after the shift. the shift value diff --git a/src/h1.c b/src/h1.c index 5498f1f690..7e19679e27 100644 --- a/src/h1.c +++ b/src/h1.c @@ -485,7 +485,7 @@ void http_msg_analyzer(struct http_msg *msg, struct hdr_idx *idx) if (co_data(msg->chn)) goto http_msg_ood; /* Remove empty leading lines, as recommended by RFC2616. */ - bi_fast_delete(buf, ptr - input); + b_del(buf, ptr - input); } msg->sol = 0; msg->sl.st.l = 0; /* used in debug mode */ @@ -553,7 +553,7 @@ void http_msg_analyzer(struct http_msg *msg, struct hdr_idx *idx) if (co_data(msg->chn)) goto http_msg_ood; /* Remove empty leading lines, as recommended by RFC2616. */ - bi_fast_delete(buf, ptr - input); + b_del(buf, ptr - input); } msg->sol = 0; msg->sl.rq.l = 0; /* used in debug mode */ diff --git a/src/hlua.c b/src/hlua.c index 588576c276..2179c61d95 100644 --- a/src/hlua.c +++ b/src/hlua.c @@ -5405,7 +5405,7 @@ __LJMP static int hlua_txn_done(lua_State *L) if (htxn->s->txn) { /* HTTP mode, let's stay in sync with the stream */ - bi_fast_delete(ic->buf, htxn->s->txn->req.sov); + b_del(ic->buf, htxn->s->txn->req.sov); htxn->s->txn->req.next -= htxn->s->txn->req.sov; htxn->s->txn->req.sov = 0; ic->analysers &= AN_REQ_HTTP_XFER_BODY; diff --git a/src/proto_http.c b/src/proto_http.c index 37360bff90..85c2391fea 100644 --- a/src/proto_http.c +++ b/src/proto_http.c @@ -3385,7 +3385,7 @@ static int http_apply_redirect_rule(struct redirect_rule *rule, struct stream *s FLT_STRM_CB(s, flt_http_reply(s, txn->status, chunk)); co_inject(res->chn, chunk->str, chunk->len); /* "eat" the request */ - bi_fast_delete(req->chn->buf, req->sov); + b_del(req->chn->buf, req->sov); req->next -= req->sov; req->sov = 0; s->req.analysers = AN_REQ_HTTP_XFER_BODY | (s->req.analysers & AN_REQ_FLT_END);