fnmatch
- test whether a filename or pathname matches a shell-style pattern
LIBRARY
Lb libc
SYNOPSIS
#include <fnmatch.h> int
fnmatch (const char *pattern const char *string int flags);
DESCRIPTION
The
fnmatch ();
function
matches patterns according to the rules used by the shell.
It checks the string specified by the
Fa string
argument to see if it matches the pattern specified by the
Fa pattern
argument.
The
Fa flags
argument modifies the interpretation of
Fa pattern
and
Fa string .
The value of
Fa flags
is the bitwise inclusive
OR
of any of the following
constants, which are defined in the include file
In fnmatch.h .
FNM_NOESCAPE
Normally, every occurrence of a backslash
(`\'
)
followed by a character in
Fa pattern
is replaced by that character.
This is done to negate any special meaning for the character.
If the
FNM_NOESCAPE
flag is set, a backslash character is treated as an ordinary character.
FNM_PATHNAME
Slash characters in
Fa string
must be explicitly matched by slashes in
Fa pattern .
If this flag is not set, then slashes are treated as regular characters.
FNM_PERIOD
Leading periods in
Fa string
must be explicitly matched by periods in
Fa pattern .
If this flag is not set, then leading periods are treated as regular
characters.
The definition of
``leading''
is related to the specification of
FNM_PATHNAME
A period is always
``leading''
if it is the first character in
Fa string .
Additionally, if
FNM_PATHNAME
is set,
a period is
leading
if it immediately follows a slash.
FNM_LEADING_DIR
Ignore
``/*
''
rest after successful
Fa pattern
matching.
FNM_CASEFOLD
Ignore case distinctions in both the
Fa pattern
and the
Fa string .
RETURN VALUES
The
fnmatch ();
function returns zero if
Fa string
matches the pattern specified by
Fa pattern ,
otherwise, it returns the value
FNM_NOMATCH
The current implementation of the
fnmatch ();
function
does not
conform to
St -p1003.2 .
Collating symbol expressions, equivalence class expressions and
character class expressions are not supported.
HISTORY
The
fnmatch ();
function first appeared in
BSD 4.4
BUGS
The pattern
`*'
matches the empty string, even if
FNM_PATHNAME
is specified.