S/390: Fix uc_link == NULL handling for makecontext
[platform/upstream/glibc.git] / posix / tst-fnmatch.input
index bf28653..4281749 100644 (file)
@@ -1,22 +1,22 @@
 # Tests for fnmatch.
-# Copyright (C) 2000 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2001, 2004, 2011 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 # Contributes by Ulrich Drepper <drepper@redhat.com>.
 #
+
 # The GNU C Library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public License as
-# published by the Free Software Foundation; either version 2 of the
-# License, or (at your option) any later version.
-#
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+
 # The GNU C Library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with the GNU C Library; see the file COPYING.LIB.  If
-# not, write to the Free Software Foundation, Inc.,
-# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public
+# License along with the GNU C Library; if not, see
+# <http://www.gnu.org/licenses/>.
 
 
 # Derived from the IEEE 2003.2 text.  The standard only contains some
@@ -43,7 +43,6 @@ C              "a/b"                  "?/b"                  0
 # B.6 007(C)
 C               "a/b"                  "a?b"                  0
 C               "a/b"                  "a/?"                  0
-C               "a/b"                  "a?b"                  NOMATCH PATHNAME
 C               "aa/b"                 "?/b"                  NOMATCH
 C               "aa/b"                 "a?b"                  NOMATCH
 C               "a/bb"                 "a/?"                  NOMATCH
@@ -57,7 +56,7 @@ C              "a"                    "[][abc]"              0
 C               "a]"                   "[]a]]"                0
 
 # B.6 010(C)
-C              "xyz"                   "[!abc]"               NOMATCH
+C               "xyz"                  "[!abc]"               NOMATCH
 C               "x"                    "[!abc]"               0
 C               "a"                    "[!abc]"               NOMATCH
 
@@ -65,222 +64,692 @@ C          "a"                    "[!abc]"               NOMATCH
 C               "]"                    "[][abc]"              0
 C               "abc]"                 "[][abc]"              NOMATCH
 C               "[]abc"                "[][]abc"              NOMATCH
-C               "]"                    "[!]]"                 NOMATCH
+C               "]"                    "[!]]"                 NOMATCH
 C               "aa]"                  "[!]a]"                NOMATCH
-C               "]"                    "[!a]"                 0
-C               "]]"                   "[!a]]"                0
+C               "]"                    "[!a]"                 0
+C               "]]"                   "[!a]]"                0
 
 # B.6 012(C)
-# *** implement [. .]
+C               "a"                    "[[.a.]]"              0
+C               "-"                    "[[.-.]]"              0
+C               "-"                    "[[.-.][.].]]"         0
+C               "-"                    "[[.].][.-.]]"         0
+C               "-"                    "[[.-.][=u=]]"         0
+C               "-"                    "[[.-.][:alpha:]]"     0
+C               "a"                    "[![.a.]]"             NOMATCH
 
 # B.6 013(C)
-# *** implement [. .]
+C               "a"                    "[[.b.]]"              NOMATCH
+C               "a"                    "[[.b.][.c.]]"         NOMATCH
+C               "a"                    "[[.b.][=b=]]"         NOMATCH
 
-# B.6 014(C)
-# *** implement [. .]
 
 # B.6 015(C)
-# *** implement [= =]
+C               "a"                    "[[=a=]]"              0
+C               "b"                    "[[=a=]b]"             0
+C               "b"                    "[[=a=][=b=]]"         0
+C               "a"                    "[[=a=][=b=]]"         0
+C               "a"                    "[[=a=][.b.]]"         0
+C               "a"                    "[[=a=][:digit:]]"     0
 
 # B.6 016(C)
-# *** implement [= =]
+C               "="                    "[[=a=]b]"             NOMATCH
+C               "]"                    "[[=a=]b]"             NOMATCH
+C               "a"                    "[[=b=][=c=]]"         NOMATCH
+C               "a"                    "[[=b=][.].]]"         NOMATCH
+C               "a"                    "[[=b=][:digit:]]"     NOMATCH
 
 # B.6 017(C)
-C              "a"                     "[[:alnum:]]"          0
-C              "a"                     "[![:alnum:]]"         NOMATCH
-C              "-"                     "[[:alnum:]]"          NOMATCH
-C              "a]a"                   "[[:alnum:]]a"         NOMATCH
-C              "-"                     "[[:alnum:]-]"         0
-C              "aa"                    "[[:alnum:]]a"         0
-C              "-"                     "[![:alnum:]]"         0
-C              "]"                     "[!][:alnum:]]"        NOMATCH
-C              "["                     "[![:alnum:][]"        NOMATCH
-C              "a"                     "[[:alnum:]]"          0
-C              "b"                     "[[:alnum:]]"          0
-C              "c"                     "[[:alnum:]]"          0
-C              "d"                     "[[:alnum:]]"          0
-C              "e"                     "[[:alnum:]]"          0
-C              "f"                     "[[:alnum:]]"          0
-C              "g"                     "[[:alnum:]]"          0
-C              "h"                     "[[:alnum:]]"          0
-C              "i"                     "[[:alnum:]]"          0
-C              "j"                     "[[:alnum:]]"          0
-C              "k"                     "[[:alnum:]]"          0
-C              "l"                     "[[:alnum:]]"          0
-C              "m"                     "[[:alnum:]]"          0
-C              "n"                     "[[:alnum:]]"          0
-C              "o"                     "[[:alnum:]]"          0
-C              "p"                     "[[:alnum:]]"          0
-C              "q"                     "[[:alnum:]]"          0
-C              "r"                     "[[:alnum:]]"          0
-C              "s"                     "[[:alnum:]]"          0
-C              "t"                     "[[:alnum:]]"          0
-C              "u"                     "[[:alnum:]]"          0
-C              "v"                     "[[:alnum:]]"          0
-C              "w"                     "[[:alnum:]]"          0
-C              "x"                     "[[:alnum:]]"          0
-C              "y"                     "[[:alnum:]]"          0
-C              "z"                     "[[:alnum:]]"          0
-C              "A"                     "[[:alnum:]]"          0
-C              "B"                     "[[:alnum:]]"          0
-C              "C"                     "[[:alnum:]]"          0
-C              "D"                     "[[:alnum:]]"          0
-C              "E"                     "[[:alnum:]]"          0
-C              "F"                     "[[:alnum:]]"          0
-C              "G"                     "[[:alnum:]]"          0
-C              "H"                     "[[:alnum:]]"          0
-C              "I"                     "[[:alnum:]]"          0
-C              "J"                     "[[:alnum:]]"          0
-C              "K"                     "[[:alnum:]]"          0
-C              "L"                     "[[:alnum:]]"          0
-C              "M"                     "[[:alnum:]]"          0
-C              "N"                     "[[:alnum:]]"          0
-C              "O"                     "[[:alnum:]]"          0
-C              "P"                     "[[:alnum:]]"          0
-C              "Q"                     "[[:alnum:]]"          0
-C              "R"                     "[[:alnum:]]"          0
-C              "S"                     "[[:alnum:]]"          0
-C              "T"                     "[[:alnum:]]"          0
-C              "U"                     "[[:alnum:]]"          0
-C              "V"                     "[[:alnum:]]"          0
-C              "W"                     "[[:alnum:]]"          0
-C              "X"                     "[[:alnum:]]"          0
-C              "Y"                     "[[:alnum:]]"          0
-C              "Z"                     "[[:alnum:]]"          0
-C              "0"                     "[[:alnum:]]"          0
-C              "1"                     "[[:alnum:]]"          0
-C              "2"                     "[[:alnum:]]"          0
-C              "3"                     "[[:alnum:]]"          0
-C              "4"                     "[[:alnum:]]"          0
-C              "5"                     "[[:alnum:]]"          0
-C              "6"                     "[[:alnum:]]"          0
-C              "7"                     "[[:alnum:]]"          0
-C              "8"                     "[[:alnum:]]"          0
-C              "9"                     "[[:alnum:]]"          0
-C              "!"                     "[[:alnum:]]"          NOMATCH
-C              "#"                     "[[:alnum:]]"          NOMATCH
-C              "%"                     "[[:alnum:]]"          NOMATCH
-C              "+"                     "[[:alnum:]]"          NOMATCH
-C              ","                     "[[:alnum:]]"          NOMATCH
-C              "-"                     "[[:alnum:]]"          NOMATCH
-C              "."                     "[[:alnum:]]"          NOMATCH
-C              "/"                     "[[:alnum:]]"          NOMATCH
-C              ":"                     "[[:alnum:]]"          NOMATCH
-C              ";"                     "[[:alnum:]]"          NOMATCH
-C              "="                     "[[:alnum:]]"          NOMATCH
-C              "@"                     "[[:alnum:]]"          NOMATCH
-C              "["                     "[[:alnum:]]"          NOMATCH
-C              "\\"                    "[[:alnum:]]"          NOMATCH
-C              "]"                     "[[:alnum:]]"          NOMATCH
-C              "^"                     "[[:alnum:]]"          NOMATCH
-C              "_"                     "[[:alnum:]]"          NOMATCH
-C              "{"                     "[[:alnum:]]"          NOMATCH
-C              "}"                     "[[:alnum:]]"          NOMATCH
-C              "~"                     "[[:alnum:]]"          NOMATCH
-C              "\""                    "[[:alnum:]]"          NOMATCH
-C              "$"                     "[[:alnum:]]"          NOMATCH
-C              "&"                     "[[:alnum:]]"          NOMATCH
-C              "'"                     "[[:alnum:]]"          NOMATCH
-C              "("                     "[[:alnum:]]"          NOMATCH
-C              ")"                     "[[:alnum:]]"          NOMATCH
-C              "*"                     "[[:alnum:]]"          NOMATCH
-C              "?"                     "[[:alnum:]]"          NOMATCH
-C              "`"                     "[[:alnum:]]"          NOMATCH
-C              "|"                     "[[:alnum:]]"          NOMATCH
-C              "<"                     "[[:alnum:]]"          NOMATCH
-C              ">"                     "[[:alnum:]]"          NOMATCH
-C              "\t"                    "[[:cntrl:]]"          0
-C              "t"                     "[[:cntrl:]]"          NOMATCH
-C              "t"                     "[[:lower:]]"          0
-C              "\t"                    "[[:lower:]]"          NOMATCH
-C              "T"                     "[[:lower:]]"          NOMATCH
-C              "\t"                    "[[:space:]]"          0
-C              "t"                     "[[:space:]]"          NOMATCH
-C              "t"                     "[[:alpha:]]"          0
-C              "\t"                    "[[:alpha:]]"          NOMATCH
-C              "0"                     "[[:digit:]]"          0
-C              "\t"                    "[[:digit:]]"          NOMATCH
-C              "t"                     "[[:digit:]]"          NOMATCH
-C              "\t"                    "[[:print:]]"          NOMATCH
-C              "t"                     "[[:print:]]"          0
-C              "T"                     "[[:upper:]]"          0
-C              "\t"                    "[[:upper:]]"          NOMATCH
-C              "t"                     "[[:upper:]]"          NOMATCH
-C              "\t"                    "[[:blank:]]"          0
-C              "t"                     "[[:blank:]]"          NOMATCH
-C              "\t"                    "[[:graph:]]"          NOMATCH
-C              "t"                     "[[:graph:]]"          0
-C              "."                     "[[:punct:]]"          0
-C              "t"                     "[[:punct:]]"          NOMATCH
-C              "\t"                    "[[:punct:]]"          NOMATCH
-C              "0"                     "[[:xdigit:]]"         0
-C              "\t"                    "[[:xdigit:]]"         NOMATCH
-C              "a"                     "[[:xdigit:]]"         0
-C              "A"                     "[[:xdigit:]]"         0
-C              "t"                     "[[:xdigit:]]"         NOMATCH
-C              "a"                     "[[alpha]]"            NOMATCH
-C              "a"                     "[[alpha:]]"           NOMATCH
-C              "a]"                    "[[alpha]]"            0
-C              "a]"                    "[[alpha:]]"           0
+C               "a"                    "[[:alnum:]]"          0
+C               "a"                    "[![:alnum:]]"         NOMATCH
+C               "-"                    "[[:alnum:]]"          NOMATCH
+C               "a]a"                  "[[:alnum:]]a"         NOMATCH
+C               "-"                    "[[:alnum:]-]"         0
+C               "aa"                   "[[:alnum:]]a"         0
+C               "-"                    "[![:alnum:]]"         0
+C               "]"                    "[!][:alnum:]]"        NOMATCH
+C               "["                    "[![:alnum:][]"        NOMATCH
+C               "a"                    "[[:alnum:]]"          0
+C               "b"                    "[[:alnum:]]"          0
+C               "c"                    "[[:alnum:]]"          0
+C               "d"                    "[[:alnum:]]"          0
+C               "e"                    "[[:alnum:]]"          0
+C               "f"                    "[[:alnum:]]"          0
+C               "g"                    "[[:alnum:]]"          0
+C               "h"                    "[[:alnum:]]"          0
+C               "i"                    "[[:alnum:]]"          0
+C               "j"                    "[[:alnum:]]"          0
+C               "k"                    "[[:alnum:]]"          0
+C               "l"                    "[[:alnum:]]"          0
+C               "m"                    "[[:alnum:]]"          0
+C               "n"                    "[[:alnum:]]"          0
+C               "o"                    "[[:alnum:]]"          0
+C               "p"                    "[[:alnum:]]"          0
+C               "q"                    "[[:alnum:]]"          0
+C               "r"                    "[[:alnum:]]"          0
+C               "s"                    "[[:alnum:]]"          0
+C               "t"                    "[[:alnum:]]"          0
+C               "u"                    "[[:alnum:]]"          0
+C               "v"                    "[[:alnum:]]"          0
+C               "w"                    "[[:alnum:]]"          0
+C               "x"                    "[[:alnum:]]"          0
+C               "y"                    "[[:alnum:]]"          0
+C               "z"                    "[[:alnum:]]"          0
+C               "A"                    "[[:alnum:]]"          0
+C               "B"                    "[[:alnum:]]"          0
+C               "C"                    "[[:alnum:]]"          0
+C               "D"                    "[[:alnum:]]"          0
+C               "E"                    "[[:alnum:]]"          0
+C               "F"                    "[[:alnum:]]"          0
+C               "G"                    "[[:alnum:]]"          0
+C               "H"                    "[[:alnum:]]"          0
+C               "I"                    "[[:alnum:]]"          0
+C               "J"                    "[[:alnum:]]"          0
+C               "K"                    "[[:alnum:]]"          0
+C               "L"                    "[[:alnum:]]"          0
+C               "M"                    "[[:alnum:]]"          0
+C               "N"                    "[[:alnum:]]"          0
+C               "O"                    "[[:alnum:]]"          0
+C               "P"                    "[[:alnum:]]"          0
+C               "Q"                    "[[:alnum:]]"          0
+C               "R"                    "[[:alnum:]]"          0
+C               "S"                    "[[:alnum:]]"          0
+C               "T"                    "[[:alnum:]]"          0
+C               "U"                    "[[:alnum:]]"          0
+C               "V"                    "[[:alnum:]]"          0
+C               "W"                    "[[:alnum:]]"          0
+C               "X"                    "[[:alnum:]]"          0
+C               "Y"                    "[[:alnum:]]"          0
+C               "Z"                    "[[:alnum:]]"          0
+C               "0"                    "[[:alnum:]]"          0
+C               "1"                    "[[:alnum:]]"          0
+C               "2"                    "[[:alnum:]]"          0
+C               "3"                    "[[:alnum:]]"          0
+C               "4"                    "[[:alnum:]]"          0
+C               "5"                    "[[:alnum:]]"          0
+C               "6"                    "[[:alnum:]]"          0
+C               "7"                    "[[:alnum:]]"          0
+C               "8"                    "[[:alnum:]]"          0
+C               "9"                    "[[:alnum:]]"          0
+C               "!"                    "[[:alnum:]]"          NOMATCH
+C               "#"                    "[[:alnum:]]"          NOMATCH
+C               "%"                    "[[:alnum:]]"          NOMATCH
+C               "+"                    "[[:alnum:]]"          NOMATCH
+C               ","                    "[[:alnum:]]"          NOMATCH
+C               "-"                    "[[:alnum:]]"          NOMATCH
+C               "."                    "[[:alnum:]]"          NOMATCH
+C               "/"                    "[[:alnum:]]"          NOMATCH
+C               ":"                    "[[:alnum:]]"          NOMATCH
+C               ";"                    "[[:alnum:]]"          NOMATCH
+C               "="                    "[[:alnum:]]"          NOMATCH
+C               "@"                    "[[:alnum:]]"          NOMATCH
+C               "["                    "[[:alnum:]]"          NOMATCH
+C               "\\"                   "[[:alnum:]]"          NOMATCH
+C               "]"                    "[[:alnum:]]"          NOMATCH
+C               "^"                    "[[:alnum:]]"          NOMATCH
+C               "_"                    "[[:alnum:]]"          NOMATCH
+C               "{"                    "[[:alnum:]]"          NOMATCH
+C               "}"                    "[[:alnum:]]"          NOMATCH
+C               "~"                    "[[:alnum:]]"          NOMATCH
+C               "\""                   "[[:alnum:]]"          NOMATCH
+C               "$"                    "[[:alnum:]]"          NOMATCH
+C               "&"                    "[[:alnum:]]"          NOMATCH
+C               "'"                    "[[:alnum:]]"          NOMATCH
+C               "("                    "[[:alnum:]]"          NOMATCH
+C               ")"                    "[[:alnum:]]"          NOMATCH
+C               "*"                    "[[:alnum:]]"          NOMATCH
+C               "?"                    "[[:alnum:]]"          NOMATCH
+C               "`"                    "[[:alnum:]]"          NOMATCH
+C               "|"                    "[[:alnum:]]"          NOMATCH
+C               "<"                    "[[:alnum:]]"          NOMATCH
+C               ">"                    "[[:alnum:]]"          NOMATCH
+C               "\t"                   "[[:cntrl:]]"          0
+C               "t"                    "[[:cntrl:]]"          NOMATCH
+C               "t"                    "[[:lower:]]"          0
+C               "\t"                   "[[:lower:]]"          NOMATCH
+C               "T"                    "[[:lower:]]"          NOMATCH
+C               "\t"                   "[[:space:]]"          0
+C               "t"                    "[[:space:]]"          NOMATCH
+C               "t"                    "[[:alpha:]]"          0
+C               "\t"                   "[[:alpha:]]"          NOMATCH
+C               "0"                    "[[:digit:]]"          0
+C               "\t"                   "[[:digit:]]"          NOMATCH
+C               "t"                    "[[:digit:]]"          NOMATCH
+C               "\t"                   "[[:print:]]"          NOMATCH
+C               "t"                    "[[:print:]]"          0
+C               "T"                    "[[:upper:]]"          0
+C               "\t"                   "[[:upper:]]"          NOMATCH
+C               "t"                    "[[:upper:]]"          NOMATCH
+C               "\t"                   "[[:blank:]]"          0
+C               "t"                    "[[:blank:]]"          NOMATCH
+C               "\t"                   "[[:graph:]]"          NOMATCH
+C               "t"                    "[[:graph:]]"          0
+C               "."                    "[[:punct:]]"          0
+C               "t"                    "[[:punct:]]"          NOMATCH
+C               "\t"                   "[[:punct:]]"          NOMATCH
+C               "0"                    "[[:xdigit:]]"         0
+C               "\t"                   "[[:xdigit:]]"         NOMATCH
+C               "a"                    "[[:xdigit:]]"         0
+C               "A"                    "[[:xdigit:]]"         0
+C               "t"                    "[[:xdigit:]]"         NOMATCH
+C               "a"                    "[[alpha]]"            NOMATCH
+C               "a"                    "[[alpha:]]"           NOMATCH
+C               "a]"                   "[[alpha]]"            0
+C               "a]"                   "[[alpha:]]"           0
+C               "a"                    "[[:alpha:][.b.]]"     0
+C               "a"                    "[[:alpha:][=b=]]"     0
+C               "a"                    "[[:alpha:][:digit:]]" 0
+C               "a"                    "[[:digit:][:alpha:]]" 0
 
 # B.6 018(C)
-C              "a"                     "[a-c]"                0
-C              "b"                     "[a-c]"                0
-C              "c"                     "[a-c]"                0
-C              "a"                     "[b-c]"                NOMATCH
-C              "d"                     "[b-c]"                NOMATCH
-C              "B"                     "[a-c]"                NOMATCH
-C              "b"                     "[A-C]"                NOMATCH
-C              ""                      "[a-c]"                NOMATCH
-C              "as"                    "[a-ca-z]"             NOMATCH
+C               "a"                    "[a-c]"                0
+C               "b"                    "[a-c]"                0
+C               "c"                    "[a-c]"                0
+C               "a"                    "[b-c]"                NOMATCH
+C               "d"                    "[b-c]"                NOMATCH
+C               "B"                    "[a-c]"                NOMATCH
+C               "b"                    "[A-C]"                NOMATCH
+C               ""                     "[a-c]"                NOMATCH
+C               "as"                   "[a-ca-z]"             NOMATCH
+C               "a"                    "[[.a.]-c]"            0
+C               "a"                    "[a-[.c.]]"            0
+C               "a"                    "[[.a.]-[.c.]]"        0
+C               "b"                    "[[.a.]-c]"            0
+C               "b"                    "[a-[.c.]]"            0
+C               "b"                    "[[.a.]-[.c.]]"        0
+C               "c"                    "[[.a.]-c]"            0
+C               "c"                    "[a-[.c.]]"            0
+C               "c"                    "[[.a.]-[.c.]]"        0
+C               "d"                    "[[.a.]-c]"            NOMATCH
+C               "d"                    "[a-[.c.]]"            NOMATCH
+C               "d"                    "[[.a.]-[.c.]]"        NOMATCH
 
 # B.6 019(C)
-C              "b"                     "[c-a]"                NOMATCH
+C               "a"                    "[c-a]"                NOMATCH
+C               "a"                    "[[.c.]-a]"            NOMATCH
+C               "a"                    "[c-[.a.]]"            NOMATCH
+C               "a"                    "[[.c.]-[.a.]]"        NOMATCH
+C               "c"                    "[c-a]"                NOMATCH
+C               "c"                    "[[.c.]-a]"            NOMATCH
+C               "c"                    "[c-[.a.]]"            NOMATCH
+C               "c"                    "[[.c.]-[.a.]]"        NOMATCH
 
 # B.6 020(C)
-C              "a"                     "[a-c0-9]"             0
-C              "d"                     "[a-c0-9]"             NOMATCH
-C              "B"                     "[a-c0-9]"             NOMATCH
+C               "a"                    "[a-c0-9]"             0
+C               "d"                    "[a-c0-9]"             NOMATCH
+C               "B"                    "[a-c0-9]"             NOMATCH
 
 # B.6 021(C)
-C              "-"                     "[-a]"                 0
-C              "a"                     "[-b]"                 NOMATCH
-C              "-"                     "[!-a]"                NOMATCH
-C              "a"                     "[!-b]"                0
-C              "-"                     "[a-c-0-9]"            0
-C              "b"                     "[a-c-0-9]"            0
-C              "a:"                    "a[0-9-a]"             NOMATCH
-C              "a:"                    "a[09-a]"              0
+C               "-"                    "[-a]"                 0
+C               "a"                    "[-b]"                 NOMATCH
+C               "-"                    "[!-a]"                NOMATCH
+C               "a"                    "[!-b]"                0
+C               "-"                    "[a-c-0-9]"            0
+C               "b"                    "[a-c-0-9]"            0
+C               "a:"                   "a[0-9-a]"             NOMATCH
+C               "a:"                   "a[09-a]"              0
 
 # B.6 024(C)
-C              ""                      "*"                    0
-C              "asd/sdf"               "*"                    0
+C               ""                     "*"                    0
+C               "asd/sdf"              "*"                    0
 
 # B.6 025(C)
-C              "as"                    "[a-c][a-z]"           0
-C              "as"                    "??"                   0
+C               "as"                   "[a-c][a-z]"           0
+C               "as"                   "??"                   0
 
 # B.6 026(C)
-C              "asd/sdf"               "as*df"                0
-C              "asd/sdf"               "as*"                  0
-C              "asd/sdf"               "*df"                  0
-C              "asd/sdf"               "as*dg"                NOMATCH
-C              "asdf"                  "as*df"                0
-C              "asdf"                  "as*df?"               NOMATCH
-C              "asdf"                  "as*??"                0
-C              "asdf"                  "a*???"                0
-C              "asdf"                  "*????"                0
-C              "asdf"                  "????*"                0
-C              "asdf"                  "??*?"                 0
+C               "asd/sdf"              "as*df"                0
+C               "asd/sdf"              "as*"                  0
+C               "asd/sdf"              "*df"                  0
+C               "asd/sdf"              "as*dg"                NOMATCH
+C               "asdf"                 "as*df"                0
+C               "asdf"                 "as*df?"               NOMATCH
+C               "asdf"                 "as*??"                0
+C               "asdf"                 "a*???"                0
+C               "asdf"                 "*????"                0
+C               "asdf"                 "????*"                0
+C               "asdf"                 "??*?"                 0
 
 # B.6 027(C)
-C              "/"                     "/"                    0
-C              "/"                     "/*"                   0
-C              "/"                     "*/"                   0
-C              "/"                     "/?"                   NOMATCH
-C              "/"                     "?/"                   NOMATCH
-C              "/"                     "?"                    0
-C              "."                     "?"                    0
-C              "/."                    "??"                   0
-C              "/"                     "[!a-c]"               0
-C              "."                     "[!a-c]"               0
+C               "/"                    "/"                    0
+C               "/"                    "/*"                   0
+C               "/"                    "*/"                   0
+C               "/"                    "/?"                   NOMATCH
+C               "/"                    "?/"                   NOMATCH
+C               "/"                    "?"                    0
+C               "."                    "?"                    0
+C               "/."                   "??"                   0
+C               "/"                    "[!a-c]"               0
+C               "."                    "[!a-c]"               0
+
+# B.6 029(C)
+C               "/"                    "/"                    0       PATHNAME
+C               "//"                   "//"                   0       PATHNAME
+C               "/.a"                  "/*"                   0       PATHNAME
+C               "/.a"                  "/?a"                  0       PATHNAME
+C               "/.a"                  "/[!a-z]a"             0       PATHNAME
+C               "/.a/.b"               "/*/?b"                0       PATHNAME
+
+# B.6 030(C)
+C               "/"                    "?"                    NOMATCH PATHNAME
+C               "/"                    "*"                    NOMATCH PATHNAME
+C               "a/b"                  "a?b"                  NOMATCH PATHNAME
+C               "/.a/.b"               "/*b"                  NOMATCH PATHNAME
+
+# B.6 031(C)
+C               "/$"                   "\\/\\$"               0
+C               "/["                   "\\/\\["               0
+C               "/["                   "\\/["                 0
+C               "/[]"                  "\\/\\[]"              0
+
+# B.6 032(C)
+C               "/$"                   "\\/\\$"               NOMATCH NOESCAPE
+C               "/\\$"                 "\\/\\$"               NOMATCH NOESCAPE
+C               "\\/\\$"               "\\/\\$"               0       NOESCAPE
+
+# B.6 033(C)
+C               ".asd"                 ".*"                   0       PERIOD
+C               "/.asd"                "*"                    0       PERIOD
+C               "/as/.df"              "*/?*f"                0       PERIOD
+C               "..asd"                ".[!a-z]*"             0       PERIOD
+
+# B.6 034(C)
+C               ".asd"                 "*"                    NOMATCH PERIOD
+C               ".asd"                 "?asd"                 NOMATCH PERIOD
+C               ".asd"                 "[!a-z]*"              NOMATCH PERIOD
+
+# B.6 035(C)
+C               "/."                   "/."                   0       PATHNAME|PERIOD
+C               "/.a./.b."             "/.*/.*"               0       PATHNAME|PERIOD
+C               "/.a./.b."             "/.??/.??"             0       PATHNAME|PERIOD
+
+# B.6 036(C)
+C               "/."                   "*"                    NOMATCH PATHNAME|PERIOD
+C               "/."                   "/*"                   NOMATCH PATHNAME|PERIOD
+C               "/."                   "/?"                   NOMATCH PATHNAME|PERIOD
+C               "/."                   "/[!a-z]"              NOMATCH PATHNAME|PERIOD
+C               "/a./.b."              "/*/*"                 NOMATCH PATHNAME|PERIOD
+C               "/a./.b."              "/??/???"              NOMATCH PATHNAME|PERIOD
+
+# Some home-grown tests.
+C              "foobar"                "foo*[abc]z"           NOMATCH
+C              "foobaz"                "foo*[abc][xyz]"       0
+C              "foobaz"                "foo?*[abc][xyz]"      0
+C              "foobaz"                "foo?*[abc][x/yz]"     0
+C              "foobaz"                "foo?*[abc]/[xyz]"     NOMATCH PATHNAME
+C              "a"                     "a/"                   NOMATCH PATHNAME
+C              "a/"                    "a"                    NOMATCH PATHNAME
+C              "//a"                   "/a"                   NOMATCH PATHNAME
+C              "/a"                    "//a"                  NOMATCH PATHNAME
+C              "az"                    "[a-]z"                0
+C              "bz"                    "[ab-]z"               0
+C              "cz"                    "[ab-]z"               NOMATCH
+C              "-z"                    "[ab-]z"               0
+C              "az"                    "[-a]z"                0
+C              "bz"                    "[-ab]z"               0
+C              "cz"                    "[-ab]z"               NOMATCH
+C              "-z"                    "[-ab]z"               0
+C              "\\"                    "[\\\\-a]"             0
+C              "_"                     "[\\\\-a]"             0
+C              "a"                     "[\\\\-a]"             0
+C              "-"                     "[\\\\-a]"             NOMATCH
+C              "\\"                    "[\\]-a]"              NOMATCH
+C              "_"                     "[\\]-a]"              0
+C              "a"                     "[\\]-a]"              0
+C              "]"                     "[\\]-a]"              0
+C              "-"                     "[\\]-a]"              NOMATCH
+C              "\\"                    "[!\\\\-a]"            NOMATCH
+C              "_"                     "[!\\\\-a]"            NOMATCH
+C              "a"                     "[!\\\\-a]"            NOMATCH
+C              "-"                     "[!\\\\-a]"            0
+C              "!"                     "[\\!-]"               0
+C              "-"                     "[\\!-]"               0
+C              "\\"                    "[\\!-]"               NOMATCH
+C              "Z"                     "[Z-\\\\]"             0
+C              "["                     "[Z-\\\\]"             0
+C              "\\"                    "[Z-\\\\]"             0
+C              "-"                     "[Z-\\\\]"             NOMATCH
+C              "Z"                     "[Z-\\]]"              0
+C              "["                     "[Z-\\]]"              0
+C              "\\"                    "[Z-\\]]"              0
+C              "]"                     "[Z-\\]]"              0
+C              "-"                     "[Z-\\]]"              NOMATCH
+
+# Following are tests outside the scope of IEEE 2003.2 since they are using
+# locales other than the C locale.  The main focus of the tests is on the
+# handling of ranges and the recognition of character (vs bytes).
+de_DE.ISO-8859-1 "a"                   "[a-z]"                0
+de_DE.ISO-8859-1 "z"                   "[a-z]"                0
+de_DE.ISO-8859-1 "ä"                   "[a-z]"                0
+de_DE.ISO-8859-1 "ö"                   "[a-z]"                0
+de_DE.ISO-8859-1 "ü"                   "[a-z]"                0
+de_DE.ISO-8859-1 "A"                   "[a-z]"                NOMATCH
+de_DE.ISO-8859-1 "Z"                   "[a-z]"                NOMATCH
+de_DE.ISO-8859-1 "Ä"                   "[a-z]"                NOMATCH
+de_DE.ISO-8859-1 "Ö"                   "[a-z]"                NOMATCH
+de_DE.ISO-8859-1 "Ü"                   "[a-z]"                NOMATCH
+de_DE.ISO-8859-1 "a"                   "[A-Z]"                NOMATCH
+de_DE.ISO-8859-1 "z"                   "[A-Z]"                NOMATCH
+de_DE.ISO-8859-1 "ä"                   "[A-Z]"                NOMATCH
+de_DE.ISO-8859-1 "ö"                   "[A-Z]"                NOMATCH
+de_DE.ISO-8859-1 "ü"                   "[A-Z]"                NOMATCH
+de_DE.ISO-8859-1 "A"                   "[A-Z]"                0
+de_DE.ISO-8859-1 "Z"                   "[A-Z]"                0
+de_DE.ISO-8859-1 "Ä"                   "[A-Z]"                0
+de_DE.ISO-8859-1 "Ö"                   "[A-Z]"                0
+de_DE.ISO-8859-1 "Ü"                   "[A-Z]"                0
+de_DE.ISO-8859-1 "a"                   "[[:lower:]]"          0
+de_DE.ISO-8859-1 "z"                   "[[:lower:]]"          0
+de_DE.ISO-8859-1 "ä"                   "[[:lower:]]"          0
+de_DE.ISO-8859-1 "ö"                   "[[:lower:]]"          0
+de_DE.ISO-8859-1 "ü"                   "[[:lower:]]"          0
+de_DE.ISO-8859-1 "A"                   "[[:lower:]]"          NOMATCH
+de_DE.ISO-8859-1 "Z"                   "[[:lower:]]"          NOMATCH
+de_DE.ISO-8859-1 "Ä"                   "[[:lower:]]"          NOMATCH
+de_DE.ISO-8859-1 "Ö"                   "[[:lower:]]"          NOMATCH
+de_DE.ISO-8859-1 "Ü"                   "[[:lower:]]"          NOMATCH
+de_DE.ISO-8859-1 "a"                   "[[:upper:]]"          NOMATCH
+de_DE.ISO-8859-1 "z"                   "[[:upper:]]"          NOMATCH
+de_DE.ISO-8859-1 "ä"                   "[[:upper:]]"          NOMATCH
+de_DE.ISO-8859-1 "ö"                   "[[:upper:]]"          NOMATCH
+de_DE.ISO-8859-1 "ü"                   "[[:upper:]]"          NOMATCH
+de_DE.ISO-8859-1 "A"                   "[[:upper:]]"          0
+de_DE.ISO-8859-1 "Z"                   "[[:upper:]]"          0
+de_DE.ISO-8859-1 "Ä"                   "[[:upper:]]"          0
+de_DE.ISO-8859-1 "Ö"                   "[[:upper:]]"          0
+de_DE.ISO-8859-1 "Ü"                   "[[:upper:]]"          0
+de_DE.ISO-8859-1 "a"                   "[[:alpha:]]"          0
+de_DE.ISO-8859-1 "z"                   "[[:alpha:]]"          0
+de_DE.ISO-8859-1 "ä"                   "[[:alpha:]]"          0
+de_DE.ISO-8859-1 "ö"                   "[[:alpha:]]"          0
+de_DE.ISO-8859-1 "ü"                   "[[:alpha:]]"          0
+de_DE.ISO-8859-1 "A"                   "[[:alpha:]]"          0
+de_DE.ISO-8859-1 "Z"                   "[[:alpha:]]"          0
+de_DE.ISO-8859-1 "Ä"                   "[[:alpha:]]"          0
+de_DE.ISO-8859-1 "Ö"                   "[[:alpha:]]"          0
+de_DE.ISO-8859-1 "Ü"                   "[[:alpha:]]"          0
+
+de_DE.ISO-8859-1 "a"                   "[[=a=]b]"             0
+de_DE.ISO-8859-1 "â"                   "[[=a=]b]"             0
+de_DE.ISO-8859-1 "à"                   "[[=a=]b]"             0
+de_DE.ISO-8859-1 "á"                   "[[=a=]b]"             0
+de_DE.ISO-8859-1 "ä"                   "[[=a=]b]"             0
+de_DE.ISO-8859-1 "b"                   "[[=a=]b]"             0
+de_DE.ISO-8859-1 "c"                   "[[=a=]b]"             NOMATCH
+de_DE.ISO-8859-1 "a"                   "[[=â=]b]"             0
+de_DE.ISO-8859-1 "â"                   "[[=â=]b]"             0
+de_DE.ISO-8859-1 "à"                   "[[=â=]b]"             0
+de_DE.ISO-8859-1 "á"                   "[[=â=]b]"             0
+de_DE.ISO-8859-1 "ä"                   "[[=â=]b]"             0
+de_DE.ISO-8859-1 "b"                   "[[=â=]b]"             0
+de_DE.ISO-8859-1 "c"                   "[[=â=]b]"             NOMATCH
+de_DE.ISO-8859-1 "a"                   "[[=à=]b]"             0
+de_DE.ISO-8859-1 "â"                   "[[=à=]b]"             0
+de_DE.ISO-8859-1 "à"                   "[[=à=]b]"             0
+de_DE.ISO-8859-1 "á"                   "[[=à=]b]"             0
+de_DE.ISO-8859-1 "ä"                   "[[=à=]b]"             0
+de_DE.ISO-8859-1 "b"                   "[[=à=]b]"             0
+de_DE.ISO-8859-1 "c"                   "[[=à=]b]"             NOMATCH
+de_DE.ISO-8859-1 "a"                   "[[=á=]b]"             0
+de_DE.ISO-8859-1 "â"                   "[[=á=]b]"             0
+de_DE.ISO-8859-1 "à"                   "[[=á=]b]"             0
+de_DE.ISO-8859-1 "á"                   "[[=á=]b]"             0
+de_DE.ISO-8859-1 "ä"                   "[[=á=]b]"             0
+de_DE.ISO-8859-1 "b"                   "[[=á=]b]"             0
+de_DE.ISO-8859-1 "c"                   "[[=á=]b]"             NOMATCH
+de_DE.ISO-8859-1 "a"                   "[[=ä=]b]"             0
+de_DE.ISO-8859-1 "â"                   "[[=ä=]b]"             0
+de_DE.ISO-8859-1 "à"                   "[[=ä=]b]"             0
+de_DE.ISO-8859-1 "á"                   "[[=ä=]b]"             0
+de_DE.ISO-8859-1 "ä"                   "[[=ä=]b]"             0
+de_DE.ISO-8859-1 "b"                   "[[=ä=]b]"             0
+de_DE.ISO-8859-1 "c"                   "[[=ä=]b]"             NOMATCH
+
+de_DE.ISO-8859-1 "aa"                  "[[.a.]]a"             0
+de_DE.ISO-8859-1 "ba"                  "[[.a.]]a"             NOMATCH
+
+
+# And with a multibyte character set.
+de_DE.UTF-8     "a"                    "[a-z]"                0
+de_DE.UTF-8     "z"                    "[a-z]"                0
+de_DE.UTF-8     "ä"                   "[a-z]"                0
+de_DE.UTF-8     "ö"                   "[a-z]"                0
+de_DE.UTF-8     "ü"                   "[a-z]"                0
+de_DE.UTF-8     "A"                    "[a-z]"                NOMATCH
+de_DE.UTF-8     "Z"                    "[a-z]"                NOMATCH
+de_DE.UTF-8     "Ä"                   "[a-z]"                NOMATCH
+de_DE.UTF-8     "Ö"                   "[a-z]"                NOMATCH
+de_DE.UTF-8     "Ü"                   "[a-z]"                NOMATCH
+de_DE.UTF-8     "a"                    "[A-Z]"                NOMATCH
+de_DE.UTF-8     "z"                    "[A-Z]"                NOMATCH
+de_DE.UTF-8     "ä"                   "[A-Z]"                NOMATCH
+de_DE.UTF-8     "ö"                   "[A-Z]"                NOMATCH
+de_DE.UTF-8     "ü"                   "[A-Z]"                NOMATCH
+de_DE.UTF-8     "A"                    "[A-Z]"                0
+de_DE.UTF-8     "Z"                    "[A-Z]"                0
+de_DE.UTF-8     "Ä"                   "[A-Z]"                0
+de_DE.UTF-8     "Ö"                   "[A-Z]"                0
+de_DE.UTF-8     "Ü"                   "[A-Z]"                0
+de_DE.UTF-8     "a"                    "[[:lower:]]"          0
+de_DE.UTF-8     "z"                    "[[:lower:]]"          0
+de_DE.UTF-8     "ä"                   "[[:lower:]]"          0
+de_DE.UTF-8     "ö"                   "[[:lower:]]"          0
+de_DE.UTF-8     "ü"                   "[[:lower:]]"          0
+de_DE.UTF-8     "A"                    "[[:lower:]]"          NOMATCH
+de_DE.UTF-8     "Z"                    "[[:lower:]]"          NOMATCH
+de_DE.UTF-8     "Ä"                   "[[:lower:]]"          NOMATCH
+de_DE.UTF-8     "Ö"                   "[[:lower:]]"          NOMATCH
+de_DE.UTF-8     "Ü"                   "[[:lower:]]"          NOMATCH
+de_DE.UTF-8     "a"                    "[[:upper:]]"          NOMATCH
+de_DE.UTF-8     "z"                    "[[:upper:]]"          NOMATCH
+de_DE.UTF-8     "ä"                   "[[:upper:]]"          NOMATCH
+de_DE.UTF-8     "ö"                   "[[:upper:]]"          NOMATCH
+de_DE.UTF-8     "ü"                   "[[:upper:]]"          NOMATCH
+de_DE.UTF-8     "A"                    "[[:upper:]]"          0
+de_DE.UTF-8     "Z"                    "[[:upper:]]"          0
+de_DE.UTF-8     "Ä"                   "[[:upper:]]"          0
+de_DE.UTF-8     "Ö"                   "[[:upper:]]"          0
+de_DE.UTF-8     "Ü"                   "[[:upper:]]"          0
+de_DE.UTF-8     "a"                    "[[:alpha:]]"          0
+de_DE.UTF-8     "z"                    "[[:alpha:]]"          0
+de_DE.UTF-8     "ä"                   "[[:alpha:]]"          0
+de_DE.UTF-8     "ö"                   "[[:alpha:]]"          0
+de_DE.UTF-8     "ü"                   "[[:alpha:]]"          0
+de_DE.UTF-8     "A"                    "[[:alpha:]]"          0
+de_DE.UTF-8     "Z"                    "[[:alpha:]]"          0
+de_DE.UTF-8     "Ä"                   "[[:alpha:]]"          0
+de_DE.UTF-8     "Ö"                   "[[:alpha:]]"          0
+de_DE.UTF-8     "Ü"                   "[[:alpha:]]"          0
+
+de_DE.UTF-8     "a"                    "[[=a=]b]"             0
+de_DE.UTF-8     "â"                   "[[=a=]b]"             0
+de_DE.UTF-8     "à"                   "[[=a=]b]"             0
+de_DE.UTF-8     "á"                   "[[=a=]b]"             0
+de_DE.UTF-8     "ä"                   "[[=a=]b]"             0
+de_DE.UTF-8     "b"                    "[[=a=]b]"             0
+de_DE.UTF-8     "c"                    "[[=a=]b]"             NOMATCH
+de_DE.UTF-8     "a"                    "[[=â=]b]"            0
+de_DE.UTF-8     "â"                   "[[=â=]b]"            0
+de_DE.UTF-8     "à"                   "[[=â=]b]"            0
+de_DE.UTF-8     "á"                   "[[=â=]b]"            0
+de_DE.UTF-8     "ä"                   "[[=â=]b]"            0
+de_DE.UTF-8     "b"                    "[[=â=]b]"            0
+de_DE.UTF-8     "c"                    "[[=â=]b]"            NOMATCH
+de_DE.UTF-8     "a"                    "[[=à=]b]"            0
+de_DE.UTF-8     "â"                   "[[=à=]b]"            0
+de_DE.UTF-8     "à"                   "[[=à=]b]"            0
+de_DE.UTF-8     "á"                   "[[=à=]b]"            0
+de_DE.UTF-8     "ä"                   "[[=à=]b]"            0
+de_DE.UTF-8     "b"                    "[[=à=]b]"            0
+de_DE.UTF-8     "c"                    "[[=à=]b]"            NOMATCH
+de_DE.UTF-8     "a"                    "[[=á=]b]"            0
+de_DE.UTF-8     "â"                   "[[=á=]b]"            0
+de_DE.UTF-8     "à"                   "[[=á=]b]"            0
+de_DE.UTF-8     "á"                   "[[=á=]b]"            0
+de_DE.UTF-8     "ä"                   "[[=á=]b]"            0
+de_DE.UTF-8     "b"                    "[[=á=]b]"            0
+de_DE.UTF-8     "c"                    "[[=á=]b]"            NOMATCH
+de_DE.UTF-8     "a"                    "[[=ä=]b]"            0
+de_DE.UTF-8     "â"                   "[[=ä=]b]"            0
+de_DE.UTF-8     "à"                   "[[=ä=]b]"            0
+de_DE.UTF-8     "á"                   "[[=ä=]b]"            0
+de_DE.UTF-8     "ä"                   "[[=ä=]b]"            0
+de_DE.UTF-8     "b"                    "[[=ä=]b]"            0
+de_DE.UTF-8     "c"                    "[[=ä=]b]"            NOMATCH
+
+de_DE.UTF-8     "aa"                   "[[.a.]]a"             0
+de_DE.UTF-8     "ba"                   "[[.a.]]a"             NOMATCH
+
+
+# Test of GNU extensions.
+C               "x"                    "x"                    0       PATHNAME|LEADING_DIR
+C               "x/y"                  "x"                    0       PATHNAME|LEADING_DIR
+C               "x/y/z"                "x"                    0       PATHNAME|LEADING_DIR
+C               "x"                    "*"                    0       PATHNAME|LEADING_DIR
+C               "x/y"                  "*"                    0       PATHNAME|LEADING_DIR
+C               "x/y/z"                "*"                    0       PATHNAME|LEADING_DIR
+C               "x"                    "*x"                   0       PATHNAME|LEADING_DIR
+C               "x/y"                  "*x"                   0       PATHNAME|LEADING_DIR
+C               "x/y/z"                "*x"                   0       PATHNAME|LEADING_DIR
+C               "x"                    "x*"                   0       PATHNAME|LEADING_DIR
+C               "x/y"                  "x*"                   0       PATHNAME|LEADING_DIR
+C               "x/y/z"                "x*"                   0       PATHNAME|LEADING_DIR
+C               "x"                    "a"                    NOMATCH PATHNAME|LEADING_DIR
+C               "x/y"                  "a"                    NOMATCH PATHNAME|LEADING_DIR
+C               "x/y/z"                "a"                    NOMATCH PATHNAME|LEADING_DIR
+C               "x"                    "x/y"                  NOMATCH PATHNAME|LEADING_DIR
+C               "x/y"                  "x/y"                  0       PATHNAME|LEADING_DIR
+C               "x/y/z"                "x/y"                  0       PATHNAME|LEADING_DIR
+C               "x"                    "x?y"                  NOMATCH PATHNAME|LEADING_DIR
+C               "x/y"                  "x?y"                  NOMATCH PATHNAME|LEADING_DIR
+C               "x/y/z"                "x?y"                  NOMATCH PATHNAME|LEADING_DIR
+
+# ksh style matching.
+C              "abcd"                  "?@(a|b)*@(c)d"        0       EXTMATCH
+C              "/dev/udp/129.22.8.102/45" "/dev/@(tcp|udp)/*/*" 0     PATHNAME|EXTMATCH
+C              "12"                    "[1-9]*([0-9])"        0       EXTMATCH
+C              "12abc"                 "[1-9]*([0-9])"        NOMATCH EXTMATCH
+C              "1"                     "[1-9]*([0-9])"        0       EXTMATCH
+C              "07"                    "+([0-7])"             0       EXTMATCH
+C              "0377"                  "+([0-7])"             0       EXTMATCH
+C              "09"                    "+([0-7])"             NOMATCH EXTMATCH
+C              "paragraph"             "para@(chute|graph)"   0       EXTMATCH
+C              "paramour"              "para@(chute|graph)"   NOMATCH EXTMATCH
+C              "para991"               "para?([345]|99)1"     0       EXTMATCH
+C              "para381"               "para?([345]|99)1"     NOMATCH EXTMATCH
+C              "paragraph"             "para*([0-9])"         NOMATCH EXTMATCH
+C              "para"                  "para*([0-9])"         0       EXTMATCH
+C              "para13829383746592"    "para*([0-9])"         0       EXTMATCH
+C              "paragraph"             "para+([0-9])"         NOMATCH EXTMATCH
+C              "para"                  "para+([0-9])"         NOMATCH EXTMATCH
+C              "para987346523"         "para+([0-9])"         0       EXTMATCH
+C              "paragraph"             "para!(*.[0-9])"       0       EXTMATCH
+C              "para.38"               "para!(*.[0-9])"       0       EXTMATCH
+C              "para.graph"            "para!(*.[0-9])"       0       EXTMATCH
+C              "para39"                "para!(*.[0-9])"       0       EXTMATCH
+C              ""                      "*(0|1|3|5|7|9)"       0       EXTMATCH
+C              "137577991"             "*(0|1|3|5|7|9)"       0       EXTMATCH
+C              "2468"                  "*(0|1|3|5|7|9)"       NOMATCH EXTMATCH
+C              "1358"                  "*(0|1|3|5|7|9)"       NOMATCH EXTMATCH
+C              "file.c"                "*.c?(c)"              0       EXTMATCH
+C              "file.C"                "*.c?(c)"              NOMATCH EXTMATCH
+C              "file.cc"               "*.c?(c)"              0       EXTMATCH
+C              "file.ccc"              "*.c?(c)"              NOMATCH EXTMATCH
+C              "parse.y"               "!(*.c|*.h|Makefile.in|config*|README)" 0 EXTMATCH
+C              "shell.c"               "!(*.c|*.h|Makefile.in|config*|README)" NOMATCH EXTMATCH
+C              "Makefile"              "!(*.c|*.h|Makefile.in|config*|README)" 0 EXTMATCH
+C              "VMS.FILE;1"            "*\;[1-9]*([0-9])"     0       EXTMATCH
+C              "VMS.FILE;0"            "*\;[1-9]*([0-9])"     NOMATCH EXTMATCH
+C              "VMS.FILE;"             "*\;[1-9]*([0-9])"     NOMATCH EXTMATCH
+C              "VMS.FILE;139"          "*\;[1-9]*([0-9])"     0       EXTMATCH
+C              "VMS.FILE;1N"           "*\;[1-9]*([0-9])"     NOMATCH EXTMATCH
+C              "abcfefg"               "ab**(e|f)"            0       EXTMATCH
+C              "abcfefg"               "ab**(e|f)g"           0       EXTMATCH
+C              "ab"                    "ab*+(e|f)"            NOMATCH EXTMATCH
+C              "abef"                  "ab***ef"              0       EXTMATCH
+C              "abef"                  "ab**"                 0       EXTMATCH
+C              "fofo"                  "*(f*(o))"             0       EXTMATCH
+C              "ffo"                   "*(f*(o))"             0       EXTMATCH
+C              "foooofo"               "*(f*(o))"             0       EXTMATCH
+C              "foooofof"              "*(f*(o))"             0       EXTMATCH
+C              "fooofoofofooo"         "*(f*(o))"             0       EXTMATCH
+C              "foooofof"              "*(f+(o))"             NOMATCH EXTMATCH
+C              "xfoooofof"             "*(f*(o))"             NOMATCH EXTMATCH
+C              "foooofofx"             "*(f*(o))"             NOMATCH EXTMATCH
+C              "ofxoofxo"              "*(*(of*(o)x)o)"       0       EXTMATCH
+C              "ofooofoofofooo"        "*(f*(o))"             NOMATCH EXTMATCH
+C              "foooxfooxfoxfooox"     "*(f*(o)x)"            0       EXTMATCH
+C              "foooxfooxofoxfooox"    "*(f*(o)x)"            NOMATCH EXTMATCH
+C              "foooxfooxfxfooox"      "*(f*(o)x)"            0       EXTMATCH
+C              "ofxoofxo"              "*(*(of*(o)x)o)"       0       EXTMATCH
+C              "ofoooxoofxo"           "*(*(of*(o)x)o)"       0       EXTMATCH
+C              "ofoooxoofxoofoooxoofxo" "*(*(of*(o)x)o)"      0       EXTMATCH
+C              "ofoooxoofxoofoooxoofxoo" "*(*(of*(o)x)o)"     0       EXTMATCH
+C              "ofoooxoofxoofoooxoofxofo" "*(*(of*(o)x)o)"    NOMATCH EXTMATCH
+C              "ofoooxoofxoofoooxoofxooofxofxo" "*(*(of*(o)x)o)" 0    EXTMATCH
+C              "aac"                   "*(@(a))a@(c)"         0       EXTMATCH
+C              "ac"                    "*(@(a))a@(c)"         0       EXTMATCH
+C              "c"                     "*(@(a))a@(c)"         NOMATCH EXTMATCH
+C              "aaac"                  "*(@(a))a@(c)"         0       EXTMATCH
+C              "baaac"                 "*(@(a))a@(c)"         NOMATCH EXTMATCH
+C              "abcd"                  "?@(a|b)*@(c)d"        0       EXTMATCH
+C              "abcd"                  "@(ab|a*@(b))*(c)d"    0       EXTMATCH
+C              "acd"                   "@(ab|a*(b))*(c)d"     0       EXTMATCH
+C              "abbcd"                 "@(ab|a*(b))*(c)d"     0       EXTMATCH
+C              "effgz"                 "@(b+(c)d|e*(f)g?|?(h)i@(j|k))" 0 EXTMATCH
+C              "efgz"                  "@(b+(c)d|e*(f)g?|?(h)i@(j|k))" 0 EXTMATCH
+C              "egz"                   "@(b+(c)d|e*(f)g?|?(h)i@(j|k))" 0 EXTMATCH
+C              "egzefffgzbcdij"        "*(b+(c)d|e*(f)g?|?(h)i@(j|k))" 0 EXTMATCH
+C              "egz"                   "@(b+(c)d|e+(f)g?|?(h)i@(j|k))" NOMATCH EXTMATCH
+C              "ofoofo"                "*(of+(o))"            0       EXTMATCH
+C              "oxfoxoxfox"            "*(oxf+(ox))"          0       EXTMATCH
+C              "oxfoxfox"              "*(oxf+(ox))"          NOMATCH EXTMATCH
+C              "ofoofo"                "*(of+(o)|f)"          0       EXTMATCH
+C              "foofoofo"              "@(foo|f|fo)*(f|of+(o))" 0     EXTMATCH
+C              "oofooofo"              "*(of|oof+(o))"        0       EXTMATCH
+C              "fffooofoooooffoofffooofff" "*(*(f)*(o))"      0       EXTMATCH
+C              "fofoofoofofoo"         "*(fo|foo)"            0       EXTMATCH
+C              "foo"                   "!(x)"                 0       EXTMATCH
+C              "foo"                   "!(x)*"                0       EXTMATCH
+C              "foo"                   "!(foo)"               NOMATCH EXTMATCH
+C              "foo"                   "!(foo)*"              0       EXTMATCH
+C              "foobar"                "!(foo)"               0       EXTMATCH
+C              "foobar"                "!(foo)*"              0       EXTMATCH
+C              "moo.cow"               "!(*.*).!(*.*)"        0       EXTMATCH
+C              "mad.moo.cow"           "!(*.*).!(*.*)"        NOMATCH EXTMATCH
+C              "mucca.pazza"           "mu!(*(c))?.pa!(*(z))?" NOMATCH EXTMATCH
+C              "fff"                   "!(f)"                 0       EXTMATCH
+C              "fff"                   "*(!(f))"              0       EXTMATCH
+C              "fff"                   "+(!(f))"              0       EXTMATCH
+C              "ooo"                   "!(f)"                 0       EXTMATCH
+C              "ooo"                   "*(!(f))"              0       EXTMATCH
+C              "ooo"                   "+(!(f))"              0       EXTMATCH
+C              "foo"                   "!(f)"                 0       EXTMATCH
+C              "foo"                   "*(!(f))"              0       EXTMATCH
+C              "foo"                   "+(!(f))"              0       EXTMATCH
+C              "f"                     "!(f)"                 NOMATCH EXTMATCH
+C              "f"                     "*(!(f))"              NOMATCH EXTMATCH
+C              "f"                     "+(!(f))"              NOMATCH EXTMATCH
+C              "foot"                  "@(!(z*)|*x)"          0       EXTMATCH
+C              "zoot"                  "@(!(z*)|*x)"          NOMATCH EXTMATCH
+C              "foox"                  "@(!(z*)|*x)"          0       EXTMATCH
+C              "zoox"                  "@(!(z*)|*x)"          0       EXTMATCH
+C              "foo"                   "*(!(foo))             0       EXTMATCH
+C              "foob"                  "!(foo)b*"             NOMATCH EXTMATCH
+C              "foobb"                 "!(foo)b*"             0       EXTMATCH
+C              "["                     "*([a[])"              0       EXTMATCH
+C              "]"                     "*([]a[])"             0       EXTMATCH
+C              "a"                     "*([]a[])"             0       EXTMATCH
+C              "b"                     "*([!]a[])"            0       EXTMATCH
+C              "["                     "*([!]a[]|[[])"        0       EXTMATCH
+C              "]"                     "*([!]a[]|[]])"        0       EXTMATCH
+C              "["                     "!([!]a[])"            0       EXTMATCH
+C              "]"                     "!([!]a[])"            0       EXTMATCH
+C              ")"                     "*([)])"               0       EXTMATCH
+C              "*"                     "*([*(])"              0       EXTMATCH
+C              "abcd"                  "*!(|a)cd"             0       EXTMATCH
+C              "ab/.a"                 "+([abc])/*"           NOMATCH EXTMATCH|PATHNAME|PERIOD
+C              ""                      ""                     0
+C              ""                      ""                     0       EXTMATCH
+C              ""                      "*([abc])"             0       EXTMATCH
+C              ""                      "?([abc])"             0       EXTMATCH