xref: /csrg-svn/lib/libc/gen/fnmatch.3 (revision 39735)
Copyright (c) 1989 The Regents of the University of California.
All rights reserved.

This code is derived from software contributed to Berkeley by
Guido van Rossum.

Redistribution and use in source and binary forms are permitted
provided that the above copyright notice and this paragraph are
duplicated in all such forms and that any documentation,
advertising materials, and other materials related to such
distribution and use acknowledge that the software was developed
by the University of California, Berkeley. The name of the
University may not be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

@(#)fnmatch.3 5.1 (Berkeley) 12/19/89

FNMATCH 3 ""
C 7
NAME
fnmatch - match filename or pathname
SYNOPSIS
#include <unistd.h>

int fnmatch(const char *pattern, const char *string, int flags);
DESCRIPTION
Fnmatch matches patterns according to the rules used by the shell. It checks the string specified by the string argument to see if it matches the pattern specified by the pattern argument.

The flags argument modifies the interpretation of pattern and string. The value of flags is the bitwise inclusive OR of any of the following constants, which are defined in the include file unistd.h .

FNM_PATHNAME Slash characters in string must be explicitly matched by slashes in pattern . If this flag is not set, then slashes are treated as regular characters.

FNM_QUOTE Every occurrence of a backslash (``\e'') followed by a character in pattern is replaced by that character. This is done to negate any special meaning for the character.

RETURNS
If string matches the pattern specified by pattern , then fnmatch returns zero. Otherwise, fnmatch returns nonzero.
SEE ALSO
sh(1), glob(3), wordexp(3), regexp(3)
BUGS
Quotes and slashes in range patterns are not handled correctly.

The pattern ``*'' matches the empty string, even if FNM_PATHNAME is specified.