FNMATCH(3) Linux Programmer's Manual FNMATCH(3)
fnmatch - match filename or pathname
int fnmatch(const char *pattern, const char *string, int flags);
The fnmatch() function checks whether the string argument matches the pattern argument,
which is a shell wildcard pattern.
The flags argument modifies the behavior; it is the bitwise OR of zero or more of the fol-
If this flag is set, treat backslash as an ordinary character, instead of an escape
If this flag is set, match a slash in string only with a slash in pattern and not
by an asterisk (*) or a question mark (?) metacharacter, nor by a bracket expres-
sion () containing a slash.
If this flag is set, a leading period in string has to be matched exactly by a
period in pattern. A period is considered to be leading if it is the first charac-
ter in string, or if both FNM_PATHNAME is set and the period immediately follows a
This is a GNU synonym for FNM_PATHNAME.
If this flag (a GNU extension) is set, the pattern is considered to be matched if
it matches an initial segment of string which is followed by a slash. This flag is
mainly for the internal use of glibc and is implemented only in certain cases.
If this flag (a GNU extension) is set, the pattern is matched case-insensitively.
Zero if string matches pattern, FNM_NOMATCH if there is no match or another nonzero value
if there is an error.
POSIX.2. The FNM_FILE_NAME, FNM_LEADING_DIR, and FNM_CASEFOLD flags are GNU extensions.
sh(1), glob(3), scandir(3), wordexp(3), glob(7)
This page is part of release 3.53 of the Linux man-pages project. A description of the
project, and information about reporting bugs, can be found at
GNU 2000-10-15 FNMATCH(3)