34 #ifdef MHD_FAVOR_SMALL_CODE 35 #ifdef _MHD_static_inline 36 #undef _MHD_static_inline 41 #define _MHD_static_inline static 61 _MHD_static_inline
bool 64 return (c >=
'a') && (c <=
'z');
75 _MHD_static_inline
bool 78 return (c >=
'A') && (c <=
'Z');
89 _MHD_static_inline
bool 103 _MHD_static_inline
bool 106 return (c >=
'0') && (c <=
'9');
116 _MHD_static_inline
bool 120 ( (c >=
'A') && (c <=
'F') ) ||
121 ( (c >=
'a') && (c <=
'f') );
131 _MHD_static_inline
bool 148 _MHD_static_inline
char 165 _MHD_static_inline
char 173 #if defined(MHD_FAVOR_SMALL_CODE) 180 _MHD_static_inline
int 184 return (
unsigned char) (c -
'0');
197 _MHD_static_inline
int 201 return (
unsigned char) (c -
'0');
202 if ( (c >=
'A') && (c <=
'F') )
203 return (
unsigned char) (c -
'A' + 10);
204 if ( (c >=
'a') && (c <=
'f') )
205 return (
unsigned char) (c -
'a' + 10);
219 #define isasciilower(c) (((char) (c)) >= 'a' && ((char) (c)) <= 'z') 229 #define isasciiupper(c) (((char) (c)) >= 'A' && ((char) (c)) <= 'Z') 239 #define isasciialpha(c) (isasciilower (c) || isasciiupper (c)) 249 #define isasciidigit(c) (((char) (c)) >= '0' && ((char) (c)) <= '9') 259 #define isasciixdigit(c) (isasciidigit ((c)) || \ 260 (((char) (c)) >= 'A' && ((char) (c)) <= 'F') || \ 261 (((char) (c)) >= 'a' && ((char) (c)) <= 'f') ) 271 #define isasciialnum(c) (isasciialpha (c) || isasciidigit (c)) 283 #define toasciilower(c) ((isasciiupper (c)) ? (((char) (c)) - 'A' + 'a') : \ 296 #define toasciiupper(c) ((isasciilower (c)) ? (((char) (c)) - 'a' + 'A') : \ 306 #define todigitvalue(c) (isasciidigit (c) ? (int) (((char) (c)) - '0') : \ 315 #define toxdigitvalue(c) (isasciidigit (c) ? (int) (((char) (c)) - '0') : \ 316 ( (((char) (c)) >= 'A' && ((char) (c)) <= 'F') ? \ 317 (int) (((unsigned char) (c)) - 'A' + 10) : \ 318 ( (((char) (c)) >= 'a' && ((char) (c)) <= 'f') ? \ 319 (int) (((unsigned char) (c)) - 'a' + 10) : \ 324 #ifndef MHD_FAVOR_SMALL_CODE 338 const char c1 = *str1;
339 const char c2 = *str2;
364 const char *
const str2,
369 for (i = 0; i < maxlen; ++i)
371 const char c1 = str1[i];
372 const char c2 = str2[i];
394 const char *
const str2,
399 for (i = 0; i < len; ++i)
401 const char c1 = str1[i];
402 const char c2 = str2[i];
427 const char *
const token,
437 while (
' ' == *str ||
'\t' == *str ||
',' == *str)
444 const char sc = *(str++);
445 const char tc = token[i++];
456 while (
' ' == *str ||
'\t' == *str)
459 if ((0 == *str) ||(
',' == *str) )
466 while (0 != *str &&
',' != *str)
472 #ifndef MHD_FAVOR_SMALL_CODE 489 const char *
const start = str;
498 const int digit = (
unsigned char) (*str) -
'0';
535 if (! str || ! maxlen || ! out_val || !
isasciidigit (str[0]))
542 const int digit = (
unsigned char) str[i] -
'0';
552 }
while ( (i < maxlen) &&
574 const char *
const start = str;
578 if (! str || ! out_val)
625 if (! str || ! out_val)
662 const char *
const start = str;
665 if (! str || ! out_val)
712 if (! str || ! out_val)
754 MHD_str_to_uvalue_n_ (
const char *str,
764 const uint64_t max_v_div_b = max_val / base;
765 const uint64_t max_v_mod_b = max_val % base;
767 int (*
const dfunc)(char) = (base == 16) ?
770 if ( ! str || ! out_val ||
771 ((base != 16)&&(base != 10)) )
776 while (maxlen > i && 0 <= (digit = dfunc (str[i])))
778 if ( ((max_v_div_b) < res) ||
779 (( (max_v_div_b) == res) &&( (max_v_mod_b) < (uint64_t) digit) ) )
790 *(uint64_t*) out_val = res;
791 else if (4 == val_size)
792 *(uint32_t*) out_val = (uint32_t) res;
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)
size_t MHD_str_to_uint64_n_(const char *str, size_t maxlen, uint64_t *out_val)
bool MHD_str_has_token_caseless_(const char *str, const char *const token, size_t token_len)
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_strx_to_uint64_n_(const char *str, size_t maxlen, uint64_t *out_val)
Header for string manipulating helpers.
size_t MHD_strx_to_uint64_(const char *str, uint64_t *out_val)
limits values definitions
size_t MHD_strx_to_uint32_n_(const char *str, size_t maxlen, uint32_t *out_val)
bool MHD_str_equal_caseless_bin_n_(const char *const str1, const char *const str2, size_t len)