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()
       returns	0.  If there is	no match, fnmatch() returns FNM_NOMATCH, which
       is defined in the header	<fnmatch.h>. If	 an  error  occurs,  fnmatch()
       returns another non-zero	value.

       The  fnmatch()  function	 has  two  major  uses.	It could be used by an
       application or utility that needs to read a directory and apply a  pat-
       tern  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

       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