|  | # Tests for fnmatch. | 
|  | # Copyright (C) 2000-2016 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 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 | 
|  | # 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 | 
|  | # wording describing the situations to be tested.  It does not specify | 
|  | # any specific tests.  I.e., the tests below are in no case sufficient. | 
|  | # They are hopefully necessary, though. | 
|  |  | 
|  | # B.6 004(C) | 
|  | C		 "!#%+,-./01234567889"	"!#%+,-./01234567889"  0 | 
|  | C		 ":;=@ABCDEFGHIJKLMNO"	":;=@ABCDEFGHIJKLMNO"  0 | 
|  | C		 "PQRSTUVWXYZ]abcdefg"	"PQRSTUVWXYZ]abcdefg"  0 | 
|  | C		 "hijklmnopqrstuvwxyz"	"hijklmnopqrstuvwxyz"  0 | 
|  | C		 "^_{}~"		"^_{}~"		       0 | 
|  |  | 
|  | # B.6 005(C) | 
|  | C		 "\"$&'()"		"\\\"\\$\\&\\'\\(\\)"  0 | 
|  | C		 "*?[\\`|"		"\\*\\?\\[\\\\\\`\\|"  0 | 
|  | C		 "<>"			"\\<\\>"	       0 | 
|  |  | 
|  | # B.6 006(C) | 
|  | C		 "?*["			"[?*[][?*[][?*[]"      0 | 
|  | C		 "a/b"			"?/b"		       0 | 
|  |  | 
|  | # B.6 007(C) | 
|  | C		 "a/b"			"a?b"		       0 | 
|  | C		 "a/b"			"a/?"		       0 | 
|  | C		 "aa/b"			"?/b"		       NOMATCH | 
|  | C		 "aa/b"			"a?b"		       NOMATCH | 
|  | C		 "a/bb"			"a/?"		       NOMATCH | 
|  |  | 
|  | # B.6 009(C) | 
|  | C		 "abc"			"[abc]"		       NOMATCH | 
|  | C		 "x"			"[abc]"		       NOMATCH | 
|  | C		 "a"			"[abc]"		       0 | 
|  | C		 "["			"[[abc]"	       0 | 
|  | C		 "a"			"[][abc]"	       0 | 
|  | C		 "a]"			"[]a]]"		       0 | 
|  |  | 
|  | # B.6 010(C) | 
|  | C		 "xyz"			"[!abc]"	       NOMATCH | 
|  | C		 "x"			"[!abc]"	       0 | 
|  | C		 "a"			"[!abc]"	       NOMATCH | 
|  |  | 
|  | # B.6 011(C) | 
|  | C		 "]"			"[][abc]"	       0 | 
|  | C		 "abc]"			"[][abc]"	       NOMATCH | 
|  | C		 "[]abc"		"[][]abc"	       NOMATCH | 
|  | C		 "]"			"[!]]"		       NOMATCH | 
|  | C		 "aa]"			"[!]a]"		       NOMATCH | 
|  | C		 "]"			"[!a]"		       0 | 
|  | C		 "]]"			"[!a]]"		       0 | 
|  |  | 
|  | # B.6 012(C) | 
|  | C		 "a"			"[[.a.]]"	       0 | 
|  | C		 "-"			"[[.-.]]"	       0 | 
|  | C		 "-"			"[[.-.][.].]]"	       0 | 
|  | C		 "-"			"[[.].][.-.]]"	       0 | 
|  | C		 "-"			"[[.-.][=u=]]"	       0 | 
|  | C		 "-"			"[[.-.][:alpha:]]"     0 | 
|  | C		 "a"			"[![.a.]]"	       NOMATCH | 
|  |  | 
|  | # B.6 013(C) | 
|  | C		 "a"			"[[.b.]]"	       NOMATCH | 
|  | C		 "a"			"[[.b.][.c.]]"	       NOMATCH | 
|  | C		 "a"			"[[.b.][=b=]]"	       NOMATCH | 
|  |  | 
|  |  | 
|  | # B.6 015(C) | 
|  | 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) | 
|  | 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"			"[[: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		 "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		 "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 | 
|  |  | 
|  | # 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 | 
|  |  | 
|  | # B.6 024(C) | 
|  | C		 ""			"*"		       0 | 
|  | C		 "asd/sdf"		"*"		       0 | 
|  |  | 
|  | # B.6 025(C) | 
|  | 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 | 
|  |  | 
|  | # 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 | 
|  |  | 
|  | # 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 |