.\" Copyright (c) 1989, 1991 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Guido van Rossum. .\" %sccs.include.redist.man% .\" .\" @(#)fnmatch.3 5.4 (Berkeley) %G% .\" .Dd .Dt FNMATCH 3 .Os .Sh NAME .Nm fnmatch .Nd match filename or pathname .Sh SYNOPSIS .Fd #include .Ft int .Fn fnmatch "const char *pattern" "const char *string" "int flags" .Sh DESCRIPTION The .Fn 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. .Pp The .Fa flags argument modifies the interpretation of .Fa pattern and .Fa string . The value of .Fa flags is the bitwise inclusive .Tn OR of any of the following constants, which are defined in the include file .Pa fnmatch.h . .Bl -tag -width FNM_PATHNAME .It Dv FNM_NOESCAPE Normally, every occurrence of a backslash .Pq Ql \e 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 .Dv FNM_NOESCAPE flag is set, a backslash character is treated as an ordinary character. .It Dv 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. .It Dv FNM_PERIOD Leading periods in strings match periods in patterns. The definition of ``leading'' is related to the specification of .Dv FNM_PATHNAME. A period is always ``leading'' if it is the first character in .Ar string . Additionally, if .Dv FNM_PATHNAME is set, a period is ``leading'' if it immediately follows a slash. .Em "This flag is not currently implemented." .El .Sh RETURN VALUES The .Fn fnmatch function returns zero if .Fa string matches the pattern specified by .Fa pattern , otherwise, it returns the value .Dv FNM_NOMATCH . .Sh SEE ALSO .Xr sh 1 , .Xr glob 3 , .Xr wordexp 3 , .Xr regexp 3 .Sh HISTORY The .Fn fnmatch function is .Ud . .Sh BUGS Quotes and slashes in range patterns are not handled correctly by this implementation. .Pp The .Dv FNM_PERIOD flag is not implemented. .Pp The pattern .Ql * matches the empty string, even if .Dv FNM_PATHNAME is specified.