GME  13
Defines | Functions | Variables
Filename Matching Functions

Defines

#define APR_FNM_NOMATCH   1
#define APR_FNM_NOESCAPE   0x01
#define APR_FNM_PATHNAME   0x02
#define APR_FNM_PERIOD   0x04
#define APR_FNM_CASE_BLIND   0x08

Functions

 APR_DECLARE (apr_status_t) apr_fnmatch(const char *pattern

Variables

const char * strings
const char int flags
apr_array_header_t ** result
apr_array_header_t apr_pool_tp

Define Documentation

#define APR_FNM_CASE_BLIND   0x08

Compare characters case-insensitively.

Remarks:
This flag is an Apache addition

Definition at line 63 of file apr_fnmatch.h.

#define APR_FNM_NOESCAPE   0x01

Disable backslash escaping.

Definition at line 60 of file apr_fnmatch.h.

#define APR_FNM_NOMATCH   1

Match failed.

Definition at line 58 of file apr_fnmatch.h.

#define APR_FNM_PATHNAME   0x02

Slash must be matched by slash.

Definition at line 61 of file apr_fnmatch.h.

#define APR_FNM_PERIOD   0x04

Period must be matched by period.

Definition at line 62 of file apr_fnmatch.h.


Function Documentation

Try to match the string to the given pattern, return APR_SUCCESS if match, else return APR_FNM_NOMATCH. Note that there is no such thing as an illegal pattern.

With all flags unset, a pattern is interpreted as such:

PATTERN: Backslash followed by any character, including another backslash.
MATCHES: That character exactly.

PATTERN: ?
MATCHES: Any single character.

PATTERN: *
MATCHES: Any sequence of zero or more characters. (Note that multiple *s in a row are equivalent to one.)

PATTERN: Any character other than \?*[ or a \ at the end of the pattern
MATCHES: That character exactly. (Case sensitive.)

PATTERN: [ followed by a class description followed by ]
MATCHES: A single character described by the class description. (Never matches, if the class description reaches until the end of the string without a ].) If the first character of the class description is ^ or !, the sense of the description is reversed. The rest of the class description is a list of single characters or pairs of characters separated by -. Any of those characters can have a backslash in front of them, which is ignored; this lets you use the characters ] and - in the character class, as well as ^ and ! at the beginning. The pattern matches a single character if it is one of the listed characters or falls into one of the listed ranges (inclusive, case sensitive). Ranges with the first character larger than the second are legal but never match. Edge cases: [] never matches, and [^] and [!] always match without consuming a character.

Note that these patterns attempt to match the entire string, not just find a substring matching the pattern.

Parameters:
patternThe pattern to match to
stringsThe string we are trying to match
flagsflags to use in the match. Bitwise OR of:
              APR_FNM_NOESCAPE       Disable backslash escaping
              APR_FNM_PATHNAME       Slash must be matched by slash
              APR_FNM_PERIOD         Period must be matched by period
              APR_FNM_CASE_BLIND     Compare characters case-insensitively.
 

Determine if the given pattern is a regular expression.

Parameters:
patternThe pattern to search for glob characters.
Returns:
non-zero if pattern has any glob characters in it

Find all files that match a specified pattern.

Parameters:
patternThe pattern to use for finding files.
resultArray to use when storing the results
pThe pool to use.
Returns:
non-zero if pattern has any glob characters in it

Variable Documentation

const char int flags

Definition at line 123 of file apr_fnmatch.h.

Definition at line 140 of file apr_fnmatch.h.

Definition at line 140 of file apr_fnmatch.h.

const char* strings

Definition at line 123 of file apr_fnmatch.h.