Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
RGXG_UTILS_ALTERNATION(3)	 librgxg manual        RGXG_UTILS_ALTERNATION(3)

NAME
     rgxg_utils_alternation  -	create	regex that matches any of the given pat-
     terns

SYNOPSIS
     #include <rgxg/utils.h>

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

DESCRIPTION
     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:

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

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

RETURN VALUE
     rgxg_utils_alternation()  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_escape_string(3).

AUTHOR
     Hannes von Haugwitz <hannes@vonhaugwitz.com>

rgxg 0.1.2			  Apr 12, 2020	       RGXG_UTILS_ALTERNATION(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=rgxg_utils_alternation&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help