mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-21 03:00:35 +00:00
c8d167bcfb
This function takes on input a string to tokenize, an output storage (which may be the same) and a number of options indicating how to handle certain characters (single & double quote support, backslash support, end of line on '#', environment variables etc). On output it will provide a list of pointers to individual words after having possibly unescaped some character sequences, handled quotes and resolved environment variables, and it will also indicate a status made of: - a list of failures (overlap between src/dst, wrong quote etc) - the pointer to the first sequence in error - the required output length (a-la snprintf()). This allows a caller to freely unescape/unquote a string by using a pre-allocated temporary buffer and expand it as necessary. It takes extreme care at avoiding expensive operations and intentionally does not use memmove() when removing escapes, hence the reason for the different input and output buffers. The goal is to use it as the basis for the config parser. |
||
---|---|---|
.. | ||
haproxy | ||
import |