Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
fnmatch(3C)		 Standard C Library Functions		   fnmatch(3C)

       fnmatch - match filename	or path	name

       #include	<fnmatch.h>

       int fnmatch(const char *pattern,	const char *string, int	flags);

       The  fnmatch() function matches patterns	as described on	the fnmatch(5)
       manual page.  It	checks the string argument to see if  it  matches  the
       pattern argument.

       The  flags  argument modifies the interpretation	of pattern and string.
       It is the bitwise inclusive OR of zero or more of the  following	 flags
       defined in the header <fnmatch.h>.

       FNM_PATHNAME	       If set, a slash (/) character in	string will be
			       explicitly matched by a slash  in  pattern;  it
			       will  not be matched by either the asterisk (*)
			       or question-mark	(?) special characters,	nor by
			       a bracket ([]) expression.

			       If  not	set, the slash character is treated as
			       an ordinary character.

       FNM_NOESCAPE	       If not set, a backslash character (\)  in  pat-
			       tern followed by	any other character will match
			       that second character in	string.	In particular,
			       "\\" will match a backslash in string.

			       If  set,	 a backslash character will be treated
			       as an ordinary character.

       FNM_PERIOD	       If set, a leading period	in string will match a
			       period in pattern; where	the location of	"lead-
			       ing" is indicated by the	value of FNM_PATHNAME:

				 o  If FNM_PATHNAME is set, a period is	"lead-
				    ing"  if  it  is  the  first  character in
				    string or  if  it  immediately  follows  a

				 o  If	FNM_PATHNAME  is  not set, a period is
				    "leading" only if it is the	first  charac-
				    ter	of string.

       If not set, no special restrictions are placed on matching a period.

       If  string matches the pattern specified	by pattern, then fnmatch() re-
       turns 0.	If there is no match, fnmatch()	returns	FNM_NOMATCH, which  is
       defined	in  the	 header	<fnmatch.h>. If	an error occurs, fnmatch() re-
       turns another non-zero value.

       The fnmatch() function has two major uses. It could be used by  an  ap-
       plication or utility that needs to read a directory and apply a pattern
       against each entry. The find(1) utility is an example of	this.  It  can
       also  be	used by	the pax(1) utility to process its pattern operands, or
       by applications that need to match strings in a similar manner.

       The name	fnmatch() is intended to imply	filename  match,  rather  than
       pathname	 match.	 The default action of this function is	to match file-
       names, rather than path names, since it gives no	 special  significance
       to  the	slash  character.  With	 the FNM_PATHNAME flag,	fnmatch() does
       match path names, but without tilde expansion, parameter	expansion,  or
       special treatment for period at the beginning of	a filename.

       The  fnmatch()  function	 can  be used safely in	multithreaded applica-
       tions, as long as setlocale(3C) is not being called to change  the  lo-

       See attributes(5) for descriptions of the following attributes:

       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       |CSI			     |Enabled			   |
       |Interface Stability	     |Standard			   |
       |MT-Level		     |MT-Safe with exceptions	   |

       find(1),	 pax(1),  glob(3C), setlocale(3C), wordexp(3C),	attributes(5),
       fnmatch(5), standards(5)

SunOS 5.10			  24 Jul 2002			   fnmatch(3C)


Want to link to this manual page? Use this URL:

home | help