FNMATCH(3)                     Library Routines                     FNMATCH(3)


       fnmatch - match filename or pathname


       #include <fnmatch.h>

       int fnmatch (const char *pattern, const char *string, int flags);


       The  fnmatch  function  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 <fnmatch.h>.

                     Normally, every occurrence of a backslash \ followed by a
                     character in pattern is replaced by that character.  This
                     is  done to negate any special meaning for the character.
                     If the FNM_NOESCAPE flag is set, a backslash character is
                     treated as an ordinary character.

                     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.

                     Leading  periods  in string must be explicitly matched by
                     periods in pattern.  If this flag is not set, then  lead-
                     ing periods are treated as regular characters.  The defi-
                     nition of ''leading'' is related to the specification  of
                     FNM_PATHNAME.   A  period  is always ''leading'' if it is
                     the  first  character  in   string.    Additionally,   if
                     FNM_PATHNAME  is set, a period is ''leading'' if it imme-
                     diately follows a slash.

                     If this flag is set, then the filename matching  will  be
                     case insensitive.  This is an extension for GNO.

                     Ignore any trailing sequence /* after successfully match-
                     ing pattern.  This is a GNU extension.

       In the GNO implementation, if the FNM_PATHNAME flag is set,  any  colon
       (:)  characters  appearing in pattern or string will be mapped to slash
       (/) characters before any match is attempted, unless either pattern  or
       string contain both colons and slashes.


       The  fnmatch function returns zero if string matches the pattern speci-
       fied by pattern, otherwise, it returns the value FNM_NOMATCH.


       The pattern * matches the empty string, even if FNM_PATHNAME is  speci-

       This  implementation  of  fnmatch  uses  recursion.   While this is not
       strictly a bug, it is a serious limitation  on  the  IIgs  where  stack
       space is at a premium.


       Other  than  the  mapping  of : characters to / characters, the fnmatch
       function conforms to POSIX  1003.2.   The  FNM_CASEFOLD  and  FNM_LEAD-
       ING_DIR flags are extensions to the standard.


       The fnmatch function first appeared in 4.4BSD.


       sh(1), glob(3), regex(3)

GNO                            22 February 1996                     FNMATCH(3)

Man(1) output converted with man2html