20#define apr_isalnum(c) (isalnum(((unsigned char)(c))))
21#define apr_isalpha(c) (isalpha(((unsigned char)(c))))
22#define apr_iscntrl(c) (iscntrl(((unsigned char)(c))))
23#define apr_isprint(c) (isprint(((unsigned char)(c))))
24#define APR_HAVE_STDIO_H 1
25#define APR_HAVE_STRING_H 1
34#if defined(WIN32) || defined(OS2)
35#define NEED_ENHANCED_ESCAPES
48#define T_ESCAPE_SHELL_CMD (0x01)
49#define T_ESCAPE_PATH_SEGMENT (0x02)
50#define T_OS_ESCAPE_PATH (0x04)
51#define T_HTTP_TOKEN_STOP (0x08)
52#define T_ESCAPE_LOGITEM (0x10)
53#define T_ESCAPE_FORENSIC (0x20)
54#define T_ESCAPE_URLENCODED (0x40)
55#define T_HTTP_CTRLS (0x80)
56#define T_VCHAR_OBSTEXT (0x100)
57#define T_URI_UNRESERVED (0x200)
64 printf(
"/* this file is automatically generated by gen_test_char, "
66 "#define T_ESCAPE_SHELL_CMD (%u)\n"
67 "#define T_ESCAPE_PATH_SEGMENT (%u)\n"
68 "#define T_OS_ESCAPE_PATH (%u)\n"
69 "#define T_HTTP_TOKEN_STOP (%u)\n"
70 "#define T_ESCAPE_LOGITEM (%u)\n"
71 "#define T_ESCAPE_FORENSIC (%u)\n"
72 "#define T_ESCAPE_URLENCODED (%u)\n"
73 "#define T_HTTP_CTRLS (%u)\n"
74 "#define T_VCHAR_OBSTEXT (%u)\n"
75 "#define T_URI_UNRESERVED (%u)\n"
77 "static const unsigned short test_char_table[256] = {",
90 for (
c = 0;
c < 256; ++
c) {
96#ifdef NEED_ENHANCED_ESCAPES
107 if (
c &&
strchr(
"&;`'\"|*?~<>^()[]{}$\\\n\r%",
c)) {
111 if (
c &&
strchr(
"&;`'\"|*?~<>^()[]{}$\\\n",
c)) {
183 "/* we assume the folks using this ensure 0 <= c < 256... which means\n"
184 " * you need a cast to (unsigned char) first, you can't just plug a\n"
185 " * char in here and get it to work, because if char is signed then it\n"
186 " * will first be sign extended.\n"
188 "#define TEST_CHAR(c, f) (test_char_table[(unsigned char)(c)] & (f))\n"
APR general purpose library routines.
const char apr_ssize_t int flags
apr_vformatter_buff_t * c
#define T_HTTP_TOKEN_STOP
#define T_ESCAPE_URLENCODED
#define T_ESCAPE_FORENSIC
#define T_ESCAPE_PATH_SEGMENT
#define T_ESCAPE_SHELL_CMD