[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    FNMATCH(3) manual page Table of Contents

Name

fnmatch - match filename or pathname

Synopsis


#include <fnmatch.h>
int fnmatch(const char *pattern, const char *string, int flags);

Description

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 following flags:

FNM_NOESCAPE
If this flag is set, treat backslash as an ordinary character, instead of an escape character.
FNM_PATHNAME
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 expression ([]) containing a slash.
FNM_PERIOD
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 character in string, or if both FNM_PATHNAME is set and the period immediately follows a slash.
FNM_FILE_NAME
This is a GNU synonym for FNM_PATHNAME.
FNM_LEADING_DIR
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.
FNM_CASEFOLD
If this flag (a GNU extension) is set, the pattern is matched case-insensitively.

Return Value

Zero if string matches pattern, FNM_NOMATCH if there is no match or another nonzero value if there is an error.

Conforming to

POSIX.2. The FNM_FILE_NAME, FNM_LEADING_DIR, and FNM_CASEFOLD flags are GNU extensions.

See Also

sh(1) , glob(3) , scandir(3) , wordexp(3) , glob(7)

Colophon

This page is part of release 3.78 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at http://www.kernel.org/doc/man-pages/.


Table of Contents