NAME¶
rgxg_utils_escape_string - escape the given string for use in a regular
expression
SYNOPSIS¶
#include <rgxg/utils.h>
int rgxg_utils_escape_string (const char *src, size_t size,
char *regex, rgxg_options_t options);
DESCRIPTION¶
rgxg_utils_escape_string() generates the (extended) regular expression
that matches at most
size bytes (or up to the first null byte) of the
given string
src, by escaping the regular expression special
characters.
src must be valid and not NULL.
The generated regular expression is written to the character string
regex, including the terminating null byte ('\0'), unless
RGXG_NONULLBYTE is set. If
regex is NULL the return value is the
number of characters (excluding the terminating null byte) that would have
been written in case
regex has been initialized. Note that the
functions assume an arbitrarily long
regex string, callers must
ensure that the given string is large enough to not overflow the actual
space.
options is either zero, or set to the following macro:
- RGXG_NONULLBYTE
- Do not add the terminating null byte ('\0') to the
regex string.
RETURN VALUE¶
rgxg_utils_escape_string() returns the number of characters (excluding
the terminating null byte) written to
regex.
AVAILABILITY¶
This function is available since rgxg 0.1.
SEE ALSO¶
regex(7),
rgxg_utils_alternation(3).
AUTHOR¶
Hannes von Haugwitz <hannes@vonhaugwitz.com>