5
* $Date: 2006/04/18 00:06:07 $
10
* Given a character pointer, returns the equivalent display type.
12
EDisplayType char2DisplayType (char *string)
25
{ "UHCHAR", vUHCHAR },
26
{ "LHCHAR", vLHCHAR },
28
{ "HMIXED", vHMIXED },
29
{ "UMIXED", vUMIXED },
30
{ "LMIXED", vLMIXED },
31
{ "UHMIXED", vUHMIXED },
32
{ "LHMIXED", vLHMIXED },
33
{ "VIEWONLY", vVIEWONLY },
41
for (n = 0; table[n].name != 0; n++)
43
if (!strcmp (string, table[n].name))
47
return (EDisplayType) vINVALID;
51
* Tell if a display type is "hidden"
53
boolean isHiddenDisplayType (EDisplayType type)
55
boolean result = FALSE;
84
* Given a character input, check if it is allowed by the display type,
85
* and return the character to apply to the display, or ERR if not.
87
int filterByDisplayType (EDisplayType type, chtype input)
89
int result = CharOf (input);
95
else if ((type == vINT ||
97
!isdigit (CharOf (result)))
101
else if ((type == vCHAR ||
106
isdigit (CharOf (result)))
110
else if (type == vVIEWONLY)
114
else if ((type == vUCHAR ||
118
isalpha (CharOf (result)))
120
result = toupper (result);
122
else if ((type == vLCHAR ||
126
isalpha (CharOf (result)))
128
result = tolower (result);