summaryrefslogtreecommitdiffstats
path: root/man3p/fnmatch.3p
diff options
context:
space:
mode:
Diffstat (limited to 'man3p/fnmatch.3p')
-rw-r--r--man3p/fnmatch.3p122
1 files changed, 122 insertions, 0 deletions
diff --git a/man3p/fnmatch.3p b/man3p/fnmatch.3p
new file mode 100644
index 000000000..c2bad3b2e
--- /dev/null
+++ b/man3p/fnmatch.3p
@@ -0,0 +1,122 @@
+.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
+.TH "FNMATCH" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\" fnmatch
+.SH NAME
+fnmatch \- match a filename or a pathname
+.SH SYNOPSIS
+.LP
+\fB#include <fnmatch.h>
+.br
+.sp
+int fnmatch(const char *\fP\fIpattern\fP\fB, const char *\fP\fIstring\fP\fB,
+int\fP \fIflags\fP\fB);
+.br
+\fP
+.SH DESCRIPTION
+.LP
+The \fIfnmatch\fP() function shall match patterns as described in
+the Shell and Utilities volume of
+IEEE\ Std\ 1003.1-2001, Section 2.13.1, Patterns Matching a Single
+Character, and Section 2.13.2, Patterns Matching Multiple Characters.
+It checks the string specified by the \fIstring\fP
+argument to see if it matches the pattern specified by the \fIpattern\fP
+argument.
+.LP
+The \fIflags\fP argument shall modify the interpretation of \fIpattern\fP
+and \fIstring\fP. It is the bitwise-inclusive OR of
+zero or more of the flags defined in \fI<fnmatch.h>\fP. If the FNM_PATHNAME
+flag is
+set in \fIflags\fP, then a slash character ( \fB'/'\fP ) in \fIstring\fP
+shall be explicitly matched by a slash in
+\fIpattern\fP; it shall not be matched by either the asterisk or question-mark
+special characters, nor by a bracket expression. If
+the FNM_PATHNAME flag is not set, the slash character shall be treated
+as an ordinary character.
+.LP
+If FNM_NOESCAPE is not set in \fIflags\fP, a backslash character (
+\fB'\\'\fP ) in \fIpattern\fP followed by any other
+character shall match that second character in \fIstring\fP. In particular,
+\fB"\\\\"\fP shall match a backslash in
+\fIstring\fP. If FNM_NOESCAPE is set, a backslash character shall
+be treated as an ordinary character.
+.LP
+If FNM_PERIOD is set in \fIflags\fP, then a leading period ( \fB'.'\fP
+) in \fIstring\fP shall match a period in
+\fIpattern\fP; as described by rule 2 in the Shell and Utilities volume
+of IEEE\ Std\ 1003.1-2001, Section 2.13.3, Patterns Used for Filename
+Expansion where the location of
+"leading" is indicated by the value of FNM_PATHNAME:
+.IP " *" 3
+If FNM_PATHNAME is set, a period is "leading" if it is the first character
+in \fIstring\fP or if it immediately follows a
+slash.
+.LP
+.IP " *" 3
+If FNM_PATHNAME is not set, a period is "leading" only if it is the
+first character of \fIstring\fP.
+.LP
+.LP
+If FNM_PERIOD is not set, then no special restrictions are placed
+on matching a period.
+.SH RETURN VALUE
+.LP
+If \fIstring\fP matches the pattern specified by \fIpattern\fP, then
+\fIfnmatch\fP() shall return 0. If there is no match,
+\fIfnmatch\fP() shall return FNM_NOMATCH, which is defined in \fI<fnmatch.h>\fP.
+If an error occurs, \fIfnmatch\fP() shall return another non-zero
+value.
+.SH ERRORS
+.LP
+No errors are defined.
+.LP
+\fIThe following sections are informative.\fP
+.SH EXAMPLES
+.LP
+None.
+.SH APPLICATION USAGE
+.LP
+The \fIfnmatch\fP() function has two major uses. It could be used
+by an application or utility that needs to read a directory
+and apply a pattern against each entry. The \fIfind\fP utility is
+an example of this. It can
+also be used by the \fIpax\fP utility to process its \fIpattern\fP
+operands, or by
+applications that need to match strings in a similar manner.
+.LP
+The name \fIfnmatch\fP() is intended to imply \fIfilename\fP match,
+rather than \fIpathname\fP match. The default action of
+this function is to match filenames, rather than pathnames, since
+it gives no special significance to the slash character. With the
+FNM_PATHNAME flag, \fIfnmatch\fP() does match pathnames, but without
+tilde expansion, parameter expansion, or special treatment
+for a period at the beginning of a filename.
+.SH RATIONALE
+.LP
+This function replaced the REG_FILENAME flag of \fIregcomp\fP() in
+early proposals of
+this volume of IEEE\ Std\ 1003.1-2001. It provides virtually the same
+functionality as the \fIregcomp\fP() and \fIregexec\fP() functions
+using the
+REG_FILENAME and REG_FSLASH flags (the REG_FSLASH flag was proposed
+for \fIregcomp\fP(),
+and would have had the opposite effect from FNM_PATHNAME), but with
+a simpler function and less system overhead.
+.SH FUTURE DIRECTIONS
+.LP
+None.
+.SH SEE ALSO
+.LP
+\fIglob\fP() , \fIwordexp\fP() , the Base Definitions volume of
+IEEE\ Std\ 1003.1-2001, \fI<fnmatch.h>\fP, the Shell and Utilities
+volume
+of IEEE\ Std\ 1003.1-2001
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group. In the
+event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.opengroup.org/unix/online.html .