Scroll to navigation

RGXG_UTILS_ESCAPE_STRING(3) librgxg manual RGXG_UTILS_ESCAPE_STRING(3)

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:

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>

April 12, 2020 rgxg 0.1.2