str_get_bracketed_c

	status.i4.v = str_get_bracketed_c(source_string.i1p.r,
					  source_length.i4.v,
					  output_string.i1a.r,
					  max_output_len.i4.v,
					  trim_output.i4.v,
					  left_bracket.i1a.r,
					  left_length.i4.v,
					  right_bracket.i1a.r,
					  right_length.i4.v,
					  case_sensitive.i4.v,
					  wildcard.i1.v,
					  ignore_spaces.i4.v
					  [,options.u4.v])

	This routine returns a substring which is bracketed between two
	other specified substrings.

	source_string	address of pointer to input string (If this
			routine is successful, this argument will be
			modified to point just past the right bracket
			string upon return.)
	source_length	length of input string to search  (If this argument
			has a value of zero, the routine will determine
			the length of the string.)
	output_string	buffer to copy extracted string to (It must be long
			enough to hold the extracted string plus a null
			terminator.)  (If a value of NULL is passed for this
			argument, only status will be returned.)
	max_output_len	maximum number of characters to return including
			the null
	trim_output	flag indicating whether or not to trim output blanks
			(TRUE -> trim leading and trailing blanks,
			 FALSE -> leave any leading and trailing blanks)
	left_bracket	left bracket string
	left_length	length of the left bracket string  (If this
			argument has a value of zero, the routine will
			determine the length of the string.)
	right_bracket	right bracket string  (Note:  If a value of NULL
			is passed for this argument, the left bracket
			string will be used.)
	right_length	length of the right bracket string  (If this
			argument has a value of zero, the routine will
			determine the length of the string.)
	case_sensitive	case sensitivity flag for the bracket strings
			(TRUE -> case sensitive search,
			 FALSE -> case insensitive search)
	wildcard	wildcard character which will match any
			single character with the bracket strings
			(STR_NO_WILDCARD -> don't use any wildcards,
			 otherwise -> desired wildcard character)
	ignore_spaces	bracket white space handling flag
			(TRUE -> ignore embedded white spaces,
			 FALSE -> treat white spaces like any other character)
	[options]	use options
			(STR_OPT_NONE -> no options selected,
			 STR_OPT_RET_FULL_LENGTH -> return the full length of
						    the bracketed string even
						    when trimming spaces)

	This function returns values as follows:

	CBS_INVARG		invalid string length passed
	CBS_NO_SUCH		one or both of the bracket strings were
				not found
	otherwise		length of the bracketed string found which
				may be greater than the length of the
				returned output string if
				STR_OPT_RET_FULL_LENGTH is specified

	This function requires the following include files:

	cbslib_h, acnet_errors_h

	Related functions:

	str_find_string_c, str_find_last_string_c, str_replace_bracketed_c,
	str_split_c, strstr, strstr_nocase, str_compare_n_nocase_c,
	str_compare_nocase, strncmp, strcmp, strncmx, str_get_tagged_value_c,
	str_get_tagged_value_alloc_c, str_get_value_c, str_replace_string_c

	C/C++ usage:

	static const char	source_buffer[] = "str_get_bracketed(argument)";
	static const char	left_bracket[] = "(";
	static const char	right_bracket[] = ")";
	char	wildcard = STR_NO_WILDCARD;
	char	output_string[65];
	char	*source_string;
	int	status;
	int	source_length = 0;
	int	max_output_len = sizeof(output_string);
	int	trim_output = TRUE;
	int	left_length = 0;
	int	right_length = 0;
	int	case_sensitive = FALSE;
	int	ignore_spaces = TRUE;
	unsigned int	options = STR_OPT_NONE;

	source_string = source_buffer;

	status = str_get_bracketed_c(&source_string,source_length,output_string,
				     max_output_len,trim_output,
				     left_bracket,left_length,right_bracket,
				     right_length,case_sensitive,wildcard,
				     ignore_spaces,options);