2018-11-10 21:44:04 -02:00
|
|
|
#include <ctype.h>
|
|
|
|
|
#include <string.h>
|
|
|
|
|
|
2019-04-17 18:13:07 -03:00
|
|
|
extern "C" {
|
|
|
|
|
|
|
|
|
|
const char _ctype_[256] = {
|
|
|
|
|
_C, _C, _C, _C, _C, _C, _C, _C,
|
2019-06-07 06:49:03 -03:00
|
|
|
_C, _C | _S, _C | _S, _C | _S, _C | _S, _C | _S, _C, _C,
|
2019-04-17 18:13:07 -03:00
|
|
|
_C, _C, _C, _C, _C, _C, _C, _C,
|
|
|
|
|
_C, _C, _C, _C, _C, _C, _C, _C,
|
2019-06-07 06:49:03 -03:00
|
|
|
(char)(_S | _B), _P, _P, _P, _P, _P, _P, _P,
|
2019-04-17 18:13:07 -03:00
|
|
|
_P, _P, _P, _P, _P, _P, _P, _P,
|
|
|
|
|
_N, _N, _N, _N, _N, _N, _N, _N,
|
|
|
|
|
_N, _N, _P, _P, _P, _P, _P, _P,
|
2019-06-07 06:49:03 -03:00
|
|
|
_P, _U | _X, _U | _X, _U | _X, _U | _X, _U | _X, _U | _X, _U,
|
2019-04-17 18:13:07 -03:00
|
|
|
_U, _U, _U, _U, _U, _U, _U, _U,
|
|
|
|
|
_U, _U, _U, _U, _U, _U, _U, _U,
|
|
|
|
|
_U, _U, _U, _P, _P, _P, _P, _P,
|
2019-06-07 06:49:03 -03:00
|
|
|
_P, _L | _X, _L | _X, _L | _X, _L | _X, _L | _X, _L | _X, _L,
|
2019-04-17 18:13:07 -03:00
|
|
|
_L, _L, _L, _L, _L, _L, _L, _L,
|
|
|
|
|
_L, _L, _L, _L, _L, _L, _L, _L,
|
|
|
|
|
_L, _L, _L, _P, _P, _P, _P, _C
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
int tolower(int c)
|
2019-02-26 11:57:59 -03:00
|
|
|
{
|
|
|
|
|
if (c >= 'A' && c <= 'Z')
|
|
|
|
|
return c | 0x20;
|
|
|
|
|
return c;
|
|
|
|
|
}
|
|
|
|
|
|
2019-04-17 18:13:07 -03:00
|
|
|
int toupper(int c)
|
2019-02-26 11:57:59 -03:00
|
|
|
{
|
|
|
|
|
if (c >= 'a' && c <= 'z')
|
|
|
|
|
return c & ~0x20;
|
|
|
|
|
return c;
|
|
|
|
|
}
|
2019-04-17 18:13:07 -03:00
|
|
|
}
|