Provided by: librgxg-dev_0.1-1_amd64 bug


       rgxg_utils_alternation - create regex that matches any of the given patterns


       #include <rgxg/utils.h>

       int rgxg_utils_alternation (const char **patterns, size_t size,
            char *regex, rgxg_options_t options);


       rgxg_utils_alternation()  generates  the (extended) regular expression that matches any of
       the given patterns, an array of constant character strings.  size specifies the number  of
       entries of the array to use for the regular expression. Both patterns and its entries must
       be valid and not NULL for size>0.

       Note that callers of rgxg_utils_alternation() which pass a non-constant 'char **' value as
       patterns  need  to  use  an explicit cast (i.e. '(const char**)') to avoid an incompatible
       pointer type warning.

       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 the bitwise-or of one or more of the following macros:

              Omit the outer parenthesis, if any, of the regular expression.

              Do not add the terminating null byte ('\0') to the regex string.


       rgxg_utils_alternation()  returns the number of characters (excluding the terminating null
       byte) written to regex.


       This function is available since rgxg 0.1.


       regex(7), rgxg_utils_escape_string(3).


       Hannes von Haugwitz <>