MINOR: http/htx: Use sl_pos directly to replace the start-line
Since the HTX start-line is now referenced by position instead of by its payload
address, it is fairly easier to replace it. No need to search the rigth block to
find the start-line comparing the payloads address. It just enough to get the
block at the position sl_pos.
diff --git a/src/http_htx.c b/src/http_htx.c
index e55420c..8099071 100644
--- a/src/http_htx.c
+++ b/src/http_htx.c
@@ -174,23 +174,15 @@
*/
int http_replace_stline(struct htx *htx, const struct ist p1, const struct ist p2, const struct ist p3)
{
- int32_t pos;
+ struct htx_blk *blk;
- for (pos = htx_get_head(htx); pos != -1; pos = htx_get_next(htx, pos)) {
- struct htx_blk *blk = htx_get_blk(htx, pos);
- enum htx_blk_type type = htx_get_blk_type(blk);
-
- if (htx->sl_pos == pos) {
- if (!htx_replace_stline(htx, blk, p1, p2, p3))
- return 0;
- return 1;
- }
-
- if (type == HTX_BLK_EOM)
- break;
- }
+ if (htx->sl_pos == -1)
+ return 0;
- return 0;
+ blk = htx_get_blk(htx, htx->sl_pos);
+ if (!htx_replace_stline(htx, blk, p1, p2, p3))
+ return 0;
+ return 1;
}
/* Replace the request method in the HTX message <htx> by <meth>. It returns 1