Next: Extension Sample Fork, Previous: Extension Sample File Functions, Up: Extension Samples [Contents][Index]
fnmatch()
This extension provides an interface to the C library
fnmatch()
function. The usage is:
@load "fnmatch"
This is how you load the extension.
result = fnmatch(pattern, string, flags)
The return value is zero on success, FNM_NOMATCH
if the string did not match the pattern, or
a different nonzero value if an error occurred.
In addition to the fnmatch()
function, the fnmatch
extension
adds one constant (FNM_NOMATCH
), and an array of flag values
named FNM
.
The arguments to fnmatch()
are:
pattern
The file name wildcard to match
string
The file name string
flag
Either zero, or the bitwise OR of one or more of the
flags in the FNM
array
The flags are as follows:
Array element | Corresponding flag defined by fnmatch() |
---|---|
FNM["CASEFOLD"] | FNM_CASEFOLD |
FNM["FILE_NAME"] | FNM_FILE_NAME |
FNM["LEADING_DIR"] | FNM_LEADING_DIR |
FNM["NOESCAPE"] | FNM_NOESCAPE |
FNM["PATHNAME"] | FNM_PATHNAME |
FNM["PERIOD"] | FNM_PERIOD |
Here is an example:
@load "fnmatch" … flags = or(FNM["PERIOD"], FNM["NOESCAPE"]) if (fnmatch("*.a", "foo.c", flags) == FNM_NOMATCH) print "no match"