37#ifdef MHD_FAVOR_SMALL_CODE
38#ifdef _MHD_static_inline
39#undef _MHD_static_inline
44#define _MHD_static_inline static
67 return (
c >=
'a') && (
c <=
'z');
83 return (
c >=
'A') && (
c <=
'Z');
113 return (
c >=
'0') && (
c <=
'9');
128 ( (
c >=
'A') && (
c <=
'F') ) ||
129 ( (
c >=
'a') && (
c <=
'f') );
185#if defined(MHD_FAVOR_SMALL_CODE)
196 return (
unsigned char) (
c -
'0');
215 return (
unsigned char) (
c -
'0');
216 if ( (
c >=
'A') && (
c <=
'F') )
217 return (
unsigned char) (
c -
'A' + 10);
218 if ( (
c >=
'a') && (
c <=
'f') )
219 return (
unsigned char) (
c -
'a' + 10);
235 return ( (
c1 ==
c2) ||
237 ((
c1 -
'A' +
'a') ==
c2) :
252#define isasciilower(c) (((char) (c)) >= 'a' && ((char) (c)) <= 'z')
262#define isasciiupper(c) (((char) (c)) >= 'A' && ((char) (c)) <= 'Z')
272#define isasciialpha(c) (isasciilower (c) || isasciiupper (c))
282#define isasciidigit(c) (((char) (c)) >= '0' && ((char) (c)) <= '9')
292#define isasciixdigit(c) (isasciidigit ((c)) || \
293 (((char) (c)) >= 'A' && ((char) (c)) <= 'F') || \
294 (((char) (c)) >= 'a' && ((char) (c)) <= 'f') )
304#define isasciialnum(c) (isasciialpha (c) || isasciidigit (c))
316#define toasciilower(c) ((isasciiupper (c)) ? (((char) (c)) - 'A' + 'a') : \
329#define toasciiupper(c) ((isasciilower (c)) ? (((char) (c)) - 'a' + 'A') : \
339#define todigitvalue(c) (isasciidigit (c) ? (int) (((char) (c)) - '0') : \
348#define toxdigitvalue(c) (isasciidigit (c) ? (int) (((char) (c)) - '0') : \
349 ( (((char) (c)) >= 'A' && ((char) (c)) <= 'F') ? \
350 (int) (((unsigned char) (c)) - 'A' + 10) : \
351 ( (((char) (c)) >= 'a' && ((char) (c)) <= 'f') ? \
352 (int) (((unsigned char) (c)) - 'a' + 10) : \
362#define charsequalcaseless(c1, c2) \
363 ( ((c1) == (c2)) || \
364 (isasciiupper (c1) ? \
365 (((c1) - 'A' + 'a') == (c2)) : \
366 (((c1) == ((c2) - 'A' + 'a')) && isasciiupper (c2))) )
371#ifndef MHD_FAVOR_SMALL_CODE
415 const char *
const str2,
446 const char *
const str2,
451 for (
i = 0;
i < len; ++
i)
479 const char *
const token,
489 while (
' ' == *str ||
'\t' == *str ||
',' == *str)
496 const char sc = *(str++);
507 while (
' ' == *str ||
'\t' == *str)
510 if ((0 == *str) || (
',' == *str) )
517 while (0 != *str &&
',' != *str)
555 const char *
const token,
581 while ( ((
size_t) (
s1 - str) <
str_len) &&
582 ((
' ' == *
s1) || (
'\t' == *
s1) || (
',' == *
s1)) )
608 while ( ((
size_t) (
s1 - str) <
str_len) &&
609 ((
' ' == *
s1) || (
'\t' == *
s1)) )
614 if (((
size_t) (
s1 - str) ==
str_len) || (
',' == *
s1))
653 while ( ((
size_t) (
s1 - str) <
str_len) && (
',' != *
s1))
659 while ( ((
size_t) (
s1 - str) <
str_len) &&
660 (
',' != *
s1) && (
' ' != *
s1) && (
'\t' != *
s1) )
672 while ( ((
size_t) (
s1 - str) <
str_len) &&
673 ((
' ' == *
s1) || (
'\t' == *
s1)) )
679 if (((
size_t) (
s1 - str) <
str_len) && (
',' != *
s1))
741 ((
' ' ==
t[
pt]) || (
'\t' ==
t[
pt]) || (
',' ==
t[
pt])) )
755 (
' ' !=
t[
pt] &&
'\t' !=
t[
pt] &&
',' !=
t[
pt]));
857 mhd_assert ((
' ' != str[0]) && (
'\t' != str[0]));
869#ifndef MHD_FAVOR_SMALL_CODE
886 const char *
const start = str;
895 const int digit = (
unsigned char) (*str) -
'0';
939 const int digit = (
unsigned char) str[
i] -
'0';
971 const char *
const start = str;
1059 const char *
const start = str;
1082 if (str -
start > 0)
1232#ifndef MHD_FAVOR_SMALL_CODE
1261 return (
size_t) (
chr -
buf);
1302 return (
size_t) (
chr -
buf);
1367#ifndef MHD_FAVOR_SMALL_CODE
1370#define map_type int8_t
1375 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1376 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1377 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
1378 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -2, -1, -1,
1379 -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1380 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
1381 -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1382 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1
1383#ifndef MHD_FAVOR_SMALL_CODE
1385 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1386 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1387 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1388 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1389 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1390 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1391 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1392 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1409#ifdef MHD_FAVOR_SMALL_CODE
1410 if (0 != (0x80 & (
in[
i] |
in[
i + 1] |
in[
i + 2] |
in[
i + 3])))
1419 if ((0 >
v1) || (0 >
v2) || (0 >
v3) || (0 >
v4))
1427#ifdef MHD_FAVOR_SMALL_CODE
1428 if (0 != (0x80 & (
in[
i] |
in[
i + 1] |
in[
i + 2] |
in[
i + 3])))
1437 if ((0 >
v1) || (0 >
v2))
1443 if ((-2 !=
v3) || (-2 !=
v4))
int MHD_str_equal_caseless_(const char *str1, const char *str2)
size_t MHD_strx_to_uint32_(const char *str, uint32_t *out_val)
size_t MHD_str_to_uint64_n_(const char *str, size_t maxlen, uint64_t *out_val)
size_t MHD_strx_to_uint64_n_(const char *str, size_t maxlen, uint64_t *out_val)
int MHD_str_equal_caseless_n_(const char *const str1, const char *const str2, size_t maxlen)
size_t MHD_str_to_uint64_(const char *str, uint64_t *out_val)
bool MHD_str_has_token_caseless_(const char *str, const char *const token, size_t token_len)
size_t MHD_strx_to_uint64_(const char *str, uint64_t *out_val)
size_t MHD_strx_to_uint32_n_(const char *str, size_t maxlen, uint32_t *out_val)
limits values definitions
size_t MHD_uint8_to_str_pad(uint8_t val, uint8_t min_digits, char *buf, size_t buf_size)
bool MHD_str_remove_tokens_caseless_(char *str, size_t *str_len, const char *const tokens, const size_t tokens_len)
size_t MHD_uint16_to_str(uint16_t val, char *buf, size_t buf_size)
size_t MHD_uint64_to_str(uint64_t val, char *buf, size_t buf_size)
#define charsequalcaseless(c1, c2)
bool MHD_str_remove_token_caseless_(const char *str, size_t str_len, const char *const token, const size_t token_len, char *buf, ssize_t *buf_size)
bool MHD_str_equal_caseless_bin_n_(const char *const str1, const char *const str2, size_t len)
size_t MHD_uint32_to_strx(uint32_t val, char *buf, size_t buf_size)
Header for string manipulating helpers.