FNMATCH(3) Library Routines FNMATCH(3)
fnmatch - match filename or pathname
int fnmatch (const char *pattern, const char *string, int flags);
The fnmatch function matches patterns according to the rules used by
the shell. It checks the string specified by the string argument to
see if it matches the pattern specified by the pattern argument.
The flags argument modifies the interpretation of pattern and string.
The value of flags is the bitwise inclusive OR of any of the following
constants, which are defined in the include file <fnmatch.h>.
Normally, every occurrence of a backslash \ followed by a
character in 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.
Slash characters in string must be explicitly matched by
slashes in pattern. If this flag is not set, then
slashes are treated as regular characters.
Leading periods in string must be explicitly matched by
periods in pattern. If this flag is not set, then lead-
ing periods are treated as regular characters. The defi-
nition of ''leading'' is related to the specification of
FNM_PATHNAME. A period is always ''leading'' if it is
the first character in string. Additionally, if
FNM_PATHNAME is set, a period is ''leading'' if it imme-
diately follows a slash.
If this flag is set, then the filename matching will be
case insensitive. This is an extension for GNO.
Ignore any trailing sequence /* after successfully match-
ing pattern. This is a GNU extension.
In the GNO implementation, if the FNM_PATHNAME flag is set, any colon
(:) characters appearing in pattern or string will be mapped to slash
(/) characters before any match is attempted, unless either pattern or
string contain both colons and slashes.
The fnmatch function returns zero if string matches the pattern speci-
fied by pattern, otherwise, it returns the value FNM_NOMATCH.
The pattern * matches the empty string, even if FNM_PATHNAME is speci-
This implementation of fnmatch uses recursion. While this is not
strictly a bug, it is a serious limitation on the IIgs where stack
space is at a premium.
Other than the mapping of : characters to / characters, the fnmatch
function conforms to POSIX 1003.2. The FNM_CASEFOLD and FNM_LEAD-
ING_DIR flags are extensions to the standard.
The fnmatch function first appeared in 4.4BSD.
sh(1), glob(3), regex(3)
GNO 22 February 1996 FNMATCH(3)
Man(1) output converted with