about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--posix/tst-fnmatch.input482
2 files changed, 272 insertions, 214 deletions
diff --git a/ChangeLog b/ChangeLog
index 0a0b648b35..fd4f79401b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2000-07-04  Ulrich Drepper  <drepper@redhat.com>
 
+	* posix/tst-fnmatch.input: Add tests for locale dependent
+	behaviour.
+	* posix/tst-fnmatch.c (main): Also set LC_CTYPE category.
+
 	* posix/tst-fnmatch.input: Add more test cases.
 
 	* crypt/md5-crypt.c (__md5_crypt_r): If buffers for key and salt
diff --git a/posix/tst-fnmatch.input b/posix/tst-fnmatch.input
index 04d21a0443..52cf6775f6 100644
--- a/posix/tst-fnmatch.input
+++ b/posix/tst-fnmatch.input
@@ -56,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
 
@@ -85,249 +85,303 @@ C		 "]]"		        "[!a]]"		       0
 # *** implement [= =]
 
 # 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
 
 # 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
 
 # B.6 019(C)
-C		"b"			"[c-a]"		       NOMATCH
+C		 "b"			"[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
+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		 "/"			"?"		       NOMATCH PATHNAME
+C		 "/"			"*"		       NOMATCH PATHNAME
 C		 "a/b"			"a?b"		       NOMATCH PATHNAME
-C		"/.a/.b"		"/*b"		       NOMATCH PATHNAME
+C		 "/.a/.b"		"/*b"		       NOMATCH PATHNAME
 
 # B.6 031(C)
-C		"/$"			"\\/\\$"	       0
-C		"/["			"\\/\\["	       0
-C		"/["			"\\/["		       NOMATCH
+C		 "/$"			"\\/\\$"	       0
+C		 "/["			"\\/\\["	       0
+C		 "/["			"\\/["		       NOMATCH
 
 # B.6 032(C)
-C		"/$"			"\\/\\$"	       NOMATCH NOESCAPE
-C		"/\\$"			"\\/\\$"	       NOMATCH NOESCAPE
-C		"\\/\\$"		"\\/\\$"	       0       NOESCAPE
+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
+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
+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
+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
+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
+
+# 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