summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2017-06-27 10:17:03 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2017-06-27 10:21:13 +0300
commitff09676fdb8577c1ceafc8e10042c6f6ab26f9e5 (patch)
treebae03787e91c26ac20ed2c798812583ec4d016da
parent1a0899d8c5dd8ba4e6a600fcf4d8f2b43bafca0e (diff)
downloadmailutils-ff09676fdb8577c1ceafc8e10042c6f6ab26f9e5.tar.gz
mailutils-ff09676fdb8577c1ceafc8e10042c6f6ab26f9e5.tar.bz2
Improve cctype API
* include/mailutils/cctype.h (MU_CTYPE_IDENT) (MU_CTYPE_HEADR): New character classes. (mu_isident,mu_isheadr): New macros. * libmailutils/string/muctype.c: Mark valid identifier and header constituents as such.
-rw-r--r--include/mailutils/cctype.h7
-rw-r--r--libmailutils/string/muctype.c130
2 files changed, 71 insertions, 66 deletions
diff --git a/include/mailutils/cctype.h b/include/mailutils/cctype.h
index bed749b96..fba82a104 100644
--- a/include/mailutils/cctype.h
+++ b/include/mailutils/cctype.h
@@ -37,6 +37,9 @@ extern "C" {
#define MU_CTYPE_XLETR 0x0400
#define MU_CTYPE_ENDLN 0x0800
#define MU_CTYPE_TSPEC 0x1000 /* tspecials: RFC 2045, section 5.1. */
+#define MU_CTYPE_IDENT 0x2000 /* Valid identifier consituent: alnum or _ */
+#define MU_CTYPE_HEADR 0x4000 /* Valid header name consituent: alnum, _,
+ or - */
#define MU_C_TAB_MAX 128
@@ -60,7 +63,9 @@ extern int mu_c_tab[MU_C_TAB_MAX];
#define mu_isblank(c) mu_c_is_class (c, MU_CTYPE_BLANK)
#define mu_isendln(c) mu_c_is_class (c, MU_CTYPE_ENDLN)
#define mu_istspec(c) mu_c_is_class (c, MU_CTYPE_TSPEC)
-
+#define mu_isident(c) mu_c_is_class (c, MU_CTYPE_IDENT)
+#define mu_isheadr(c) mu_c_is_class (c, MU_CTYPE_HEADR)
+
#define mu_tolower(c) \
({ int __c = (c); \
(__c >= 'A' && __c <= 'Z' ? __c - 'A' + 'a' : __c); \
diff --git a/libmailutils/string/muctype.c b/libmailutils/string/muctype.c
index ffa050d6e..bd24a2aa8 100644
--- a/libmailutils/string/muctype.c
+++ b/libmailutils/string/muctype.c
@@ -66,19 +66,19 @@ int mu_c_tab[MU_C_TAB_MAX] = {
MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT,
MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT,
MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT|MU_CTYPE_TSPEC,
- MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT,
+ MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT|MU_CTYPE_HEADR,
MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT,
MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT|MU_CTYPE_TSPEC,
- MU_CTYPE_DIGIT|MU_CTYPE_GRAPH|MU_CTYPE_PRINT,
- MU_CTYPE_DIGIT|MU_CTYPE_GRAPH|MU_CTYPE_PRINT,
- MU_CTYPE_DIGIT|MU_CTYPE_GRAPH|MU_CTYPE_PRINT,
- MU_CTYPE_DIGIT|MU_CTYPE_GRAPH|MU_CTYPE_PRINT,
- MU_CTYPE_DIGIT|MU_CTYPE_GRAPH|MU_CTYPE_PRINT,
- MU_CTYPE_DIGIT|MU_CTYPE_GRAPH|MU_CTYPE_PRINT,
- MU_CTYPE_DIGIT|MU_CTYPE_GRAPH|MU_CTYPE_PRINT,
- MU_CTYPE_DIGIT|MU_CTYPE_GRAPH|MU_CTYPE_PRINT,
- MU_CTYPE_DIGIT|MU_CTYPE_GRAPH|MU_CTYPE_PRINT,
- MU_CTYPE_DIGIT|MU_CTYPE_GRAPH|MU_CTYPE_PRINT,
+ MU_CTYPE_DIGIT|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_DIGIT|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_DIGIT|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_DIGIT|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_DIGIT|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_DIGIT|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_DIGIT|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_DIGIT|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_DIGIT|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_DIGIT|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT|MU_CTYPE_TSPEC,
MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT|MU_CTYPE_TSPEC,
MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT|MU_CTYPE_TSPEC,
@@ -86,64 +86,64 @@ int mu_c_tab[MU_C_TAB_MAX] = {
MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT|MU_CTYPE_TSPEC,
MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT|MU_CTYPE_TSPEC,
MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT|MU_CTYPE_TSPEC,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_XLETR,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_XLETR,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_XLETR,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_XLETR,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_XLETR,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_XLETR,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_XLETR|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_XLETR|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_XLETR|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_XLETR|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_XLETR|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_XLETR|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_UPPER|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT|MU_CTYPE_TSPEC,
MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT|MU_CTYPE_TSPEC,
MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT|MU_CTYPE_TSPEC,
MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT,
- MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT,
- MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_XLETR,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_XLETR,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_XLETR,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_XLETR,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_XLETR,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_XLETR,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT,
- MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT,
+ MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT|MU_CTYPE_IDENT,
+ MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_XLETR|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_XLETR|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_XLETR|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_XLETR|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_XLETR|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_XLETR|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
+ MU_CTYPE_ALPHA|MU_CTYPE_GRAPH|MU_CTYPE_LOWER|MU_CTYPE_PRINT|MU_CTYPE_IDENT|MU_CTYPE_HEADR,
MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT,
MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT,
MU_CTYPE_GRAPH|MU_CTYPE_PRINT|MU_CTYPE_PUNCT,

Return to:

Send suggestions and report system problems to the System administrator.