From: Christopher Faulet Date: Wed, 2 Dec 2020 16:40:54 +0000 (+0100) Subject: MINOR: htx: Add a function to know if a block is the only one in a message X-Git-Tag: v2.4-dev7~96 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=789a4726746d62e8341dc13c6f8e32dd6158c425;p=thirdparty%2Fhaproxy.git MINOR: htx: Add a function to know if a block is the only one in a message The htx_is_unique_blk() function may now be used to know if a block is the only one in an HTX message, excluding all unused blocks. Note the purpose of this function is not to know if a block is the last one of an HTTP message. This means no more data part from the message are expected, except tunneled data. It only says if a block is alone in an HTX message. --- diff --git a/include/haproxy/htx.h b/include/haproxy/htx.h index 31bbcd9829..7cc5ffe605 100644 --- a/include/haproxy/htx.h +++ b/include/haproxy/htx.h @@ -307,6 +307,16 @@ static inline struct htx_blk *htx_get_next_blk(const struct htx *htx, return ((pos == -1) ? NULL : htx_get_blk(htx, pos)); } +/* Returns 1 if is the block is the only one inside the HTX message , + * excluding all unsued blocks. Otherwise, it returns 0. If 1 is returned, this + * means that there is only and eventually some unused ones in . + */ +static inline int htx_is_unique_blk(const struct htx *htx, + const struct htx_blk *blk) +{ + return (htx_get_blksz(blk) == htx->data); +} + /* Changes the size of the value. It is the caller responsibility to change the * value itself, make sure there is enough space and update allocated * value. This function updates the HTX message accordingly.