]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: channel: add new function co_getdelim() to support multiple delimiters
authorWilly Tarreau <w@1wt.eu>
Wed, 19 Jan 2022 16:19:52 +0000 (17:19 +0100)
committerWilly Tarreau <w@1wt.eu>
Wed, 19 Jan 2022 18:16:47 +0000 (19:16 +0100)
commitc5143653177368a40f3153dcf79d145284a5495e
tree6f4d84cd743a56f3dcb09c76d9b29073067ef11a
parentfa7b4f6691646dc6bdebdb0d11c9cdf0382aeccb
MINOR: channel: add new function co_getdelim() to support multiple delimiters

For now we have co_getline() which reads a buffer and stops on LF, and
co_getword() which reads a buffer and stops on one arbitrary delimiter.
But sometimes we'd need to stop on a set of delimiters (CR and LF, etc).

This patch adds a new function co_getdelim() which takes a set of delimiters
as a string, and constructs a small map (32 bytes) that's looked up during
parsing to stop after the first delimiter found within the set. It also
supports an optional escape character that skips a delimiter (typically a
backslash). For the rest it works exactly like the two other variants.
include/haproxy/channel.h
src/channel.c