FNMATCH(3) Library Routines FNMATCH(3)
NAME
fnmatch - match filename or pathname
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 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>.
FNM_NOESCAPE
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.
FNM_PATHNAME
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.
FNM_PERIOD
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.
FNM_CASEFOLD
If this flag is set, then the filename matching will be
case insensitive. This is an extension for GNO.
FNM_LEADING_DIR
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.
RETURN VALUES
The fnmatch function returns zero if string matches the pattern speci‐
fied by pattern, otherwise, it returns the value FNM_NOMATCH.
BUGS
The pattern * matches the empty string, even if FNM_PATHNAME is speci‐
fied.
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.
STANDARDS
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.
HISTORY
The fnmatch function first appeared in 4.4BSD.
SEE ALSO
sh(1), glob(3), regex(3)
GNO 22 February 1996 FNMATCH(3)
Man(1) output converted with
man2html