aboutsummaryrefslogtreecommitdiff
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