Blame extension/fnmatch.3am

Packit Service f629e6
.TH FNMATCH 3am "Jan 15 2013" "Free Software Foundation" "GNU Awk Extension Modules"
Packit Service f629e6
.SH NAME
Packit Service f629e6
fnmatch \- compare a string against a filename wildcard
Packit Service f629e6
.SH SYNOPSIS
Packit Service f629e6
.ft CW
Packit Service f629e6
@load "fnmatch"
Packit Service f629e6
.sp
Packit Service f629e6
result = fnmatch(pattern, string, flags)
Packit Service f629e6
.ft R
Packit Service f629e6
.SH DESCRIPTION
Packit Service f629e6
The
Packit Service f629e6
.I fnmatch
Packit Service f629e6
extension provides an AWK interface to the
Packit Service f629e6
.IR fnmatch (3)
Packit Service f629e6
routine.  It adds a single function named
Packit Service f629e6
.BR fnmatch() ,
Packit Service f629e6
one predefined variable
Packit Service f629e6
.RB ( FNM_NOMATCH ),
Packit Service f629e6
and an array of flag values named
Packit Service f629e6
.BR FNM .
Packit Service f629e6
.PP
Packit Service f629e6
The first argument is the filename wildcard to match, the second
Packit Service f629e6
is the filename string, and the third is either zero,
Packit Service f629e6
or the bitwise OR of one or more of the flags in the
Packit Service f629e6
.B FNM
Packit Service f629e6
array.
Packit Service f629e6
.PP
Packit Service f629e6
The return value is zero on success,
Packit Service f629e6
.B FNM_NOMATCH
Packit Service f629e6
if the string did not match the pattern, or
Packit Service f629e6
a different non-zero value if an error occurred.
Packit Service f629e6
.PP
Packit Service f629e6
The flags are follows:
Packit Service f629e6
.TP
Packit Service f629e6
\fBFNM["CASEFOLD"]\fP
Packit Service f629e6
Corresponds to the
Packit Service f629e6
.B FNM_CASEFOLD
Packit Service f629e6
flag as defined in
Packit Service f629e6
.IR fnmatch (3).
Packit Service f629e6
.TP
Packit Service f629e6
\fBFNM["FILE_NAME"]\fP
Packit Service f629e6
Corresponds to the
Packit Service f629e6
.B FNM_FILE_NAME
Packit Service f629e6
flag as defined in
Packit Service f629e6
.IR fnmatch (3).
Packit Service f629e6
.TP
Packit Service f629e6
\fBFNM["LEADING_DIR"]\fP
Packit Service f629e6
Corresponds to the
Packit Service f629e6
.B FNM_LEADING_DIR
Packit Service f629e6
flag as defined in
Packit Service f629e6
.IR fnmatch (3).
Packit Service f629e6
.TP
Packit Service f629e6
\fBFNM["NOESCAPE"]\fP
Packit Service f629e6
Corresponds to the
Packit Service f629e6
.B FNM_NOESCAPE
Packit Service f629e6
flag as defined in
Packit Service f629e6
.IR fnmatch (3).
Packit Service f629e6
.TP
Packit Service f629e6
\fBFNM["PATHNAME"]\fP
Packit Service f629e6
Corresponds to the
Packit Service f629e6
.B FNM_PATHNAME
Packit Service f629e6
flag as defined in
Packit Service f629e6
.IR fnmatch (3).
Packit Service f629e6
.TP
Packit Service f629e6
\fBFNM["PERIOD"]\fP
Packit Service f629e6
Corresponds to the
Packit Service f629e6
.B FNM_PERIOD
Packit Service f629e6
flag as defined in
Packit Service f629e6
.IR fnmatch (3).
Packit Service f629e6
.PP
Packit Service f629e6
.SH NOTES
Packit Service f629e6
Nothing prevents AWK code from changing the predefined
Packit Service f629e6
variable
Packit Service f629e6
.BR FNM_NOMATCH ,
Packit Service f629e6
but doing so may cause strange results.
Packit Service f629e6
.\" .SH BUGS
Packit Service f629e6
.SH EXAMPLE
Packit Service f629e6
.ft CW
Packit Service f629e6
.nf
Packit Service f629e6
@load "fnmatch"
Packit Service f629e6
\&...
Packit Service f629e6
flags = or(FNM["PERIOD"], FNM["NOESCAPE"])
Packit Service f629e6
if (fnmatch("*.a", "foo.c", flags) == FNM_NOMATCH)
Packit Service f629e6
	print "no match"
Packit Service f629e6
.fi
Packit Service f629e6
.ft R
Packit Service f629e6
.SH "SEE ALSO"
Packit Service f629e6
.IR "GAWK: Effective AWK Programming" ,
Packit Service f629e6
.IR filefuncs (3am),
Packit Service f629e6
.IR fork (3am),
Packit Service f629e6
.IR inplace (3am),
Packit Service f629e6
.IR ordchr (3am),
Packit Service f629e6
.IR readdir (3am),
Packit Service f629e6
.IR readfile (3am),
Packit Service f629e6
.IR revoutput (3am),
Packit Service f629e6
.IR rwarray (3am),
Packit Service f629e6
.IR time (3am).
Packit Service f629e6
.PP
Packit Service f629e6
.IR fnmatch (3).
Packit Service f629e6
.SH AUTHOR
Packit Service f629e6
Arnold Robbins,
Packit Service f629e6
.BR arnold@skeeve.com .
Packit Service f629e6
.SH COPYING PERMISSIONS
Packit Service f629e6
Copyright \(co 2012, 2013,
Packit Service f629e6
Free Software Foundation, Inc.
Packit Service f629e6
.PP
Packit Service f629e6
Permission is granted to make and distribute verbatim copies of
Packit Service f629e6
this manual page provided the copyright notice and this permission
Packit Service f629e6
notice are preserved on all copies.
Packit Service f629e6
.ig
Packit Service f629e6
Permission is granted to process this file through troff and print the
Packit Service f629e6
results, provided the printed document carries copying permission
Packit Service f629e6
notice identical to this one except for the removal of this paragraph
Packit Service f629e6
(this paragraph not being relevant to the printed manual page).
Packit Service f629e6
..
Packit Service f629e6
.PP
Packit Service f629e6
Permission is granted to copy and distribute modified versions of this
Packit Service f629e6
manual page under the conditions for verbatim copying, provided that
Packit Service f629e6
the entire resulting derived work is distributed under the terms of a
Packit Service f629e6
permission notice identical to this one.
Packit Service f629e6
.PP
Packit Service f629e6
Permission is granted to copy and distribute translations of this
Packit Service f629e6
manual page into another language, under the above conditions for
Packit Service f629e6
modified versions, except that this permission notice may be stated in
Packit Service f629e6
a translation approved by the Foundation.
Packit Service f629e6
.\" vim: set filetype=nroff :