GNU libmicrohttpd
0.9.29
|
Functions implementations for string manipulating. More...
Go to the source code of this file.
Macros | |
#define | isasciilower(c) (((char)(c)) >= 'a' && ((char)(c)) <= 'z') |
#define | isasciiupper(c) (((char)(c)) >= 'A' && ((char)(c)) <= 'Z') |
#define | isasciialpha(c) (isasciilower(c) || isasciiupper(c)) |
#define | isasciidigit(c) (((char)(c)) >= '0' && ((char)(c)) <= '9') |
#define | isasciixdigit(c) |
#define | isasciialnum(c) (isasciialpha(c) || isasciidigit(c)) |
#define | toasciilower(c) ((isasciiupper(c)) ? (((char)(c)) - 'A' + 'a') : ((char)(c))) |
#define | toasciiupper(c) ((isasciilower(c)) ? (((char)(c)) - 'a' + 'A') : ((char)(c))) |
#define | todigitvalue(c) (isasciidigit(c) ? (int)(((char)(c)) - '0') : (int)(-1)) |
#define | toxdigitvalue(c) |
Functions | |
int | MHD_str_equal_caseless_ (const char *str1, const char *str2) |
int | MHD_str_equal_caseless_n_ (const char *const str1, const char *const str2, size_t maxlen) |
bool | MHD_str_has_token_caseless_ (const char *str, const char *const token, size_t token_len) |
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) |
size_t | MHD_strx_to_uint32_ (const char *str, uint32_t *out_val) |
size_t | MHD_strx_to_uint32_n_ (const char *str, size_t maxlen, uint32_t *out_val) |
size_t | MHD_strx_to_uint64_ (const char *str, uint64_t *out_val) |
size_t | MHD_strx_to_uint64_n_ (const char *str, size_t maxlen, uint64_t *out_val) |
Functions implementations for string manipulating.
Definition in file mhd_str.c.
#define isasciialnum | ( | c | ) | (isasciialpha(c) || isasciidigit(c)) |
#define isasciialpha | ( | c | ) | (isasciilower(c) || isasciiupper(c)) |
#define isasciidigit | ( | c | ) | (((char)(c)) >= '0' && ((char)(c)) <= '9') |
Check whether character is decimal digit in US-ASCII
c | character to check |
Definition at line 239 of file mhd_str.c.
Referenced by MHD_str_to_uint64_(), and MHD_str_to_uint64_n_().
#define isasciilower | ( | c | ) | (((char)(c)) >= 'a' && ((char)(c)) <= 'z') |
#define isasciiupper | ( | c | ) | (((char)(c)) >= 'A' && ((char)(c)) <= 'Z') |
#define isasciixdigit | ( | c | ) |
Check whether character is hexadecimal digit in US-ASCII
c | character to check |
#define toasciilower | ( | c | ) | ((isasciiupper(c)) ? (((char)(c)) - 'A' + 'a') : ((char)(c))) |
Convert US-ASCII character to lower case. If character is upper case letter in US-ASCII than it's converted to lower case analog. If character is NOT upper case letter than it's returned unmodified.
c | character to convert |
Definition at line 273 of file mhd_str.c.
Referenced by MHD_str_equal_caseless_(), MHD_str_equal_caseless_n_(), and MHD_str_has_token_caseless_().
#define toasciiupper | ( | c | ) | ((isasciilower(c)) ? (((char)(c)) - 'a' + 'A') : ((char)(c))) |
Convert US-ASCII character to upper case. If character is lower case letter in US-ASCII than it's converted to upper case analog. If character is NOT lower case letter than it's returned unmodified.
c | character to convert |
#define todigitvalue | ( | c | ) | (isasciidigit(c) ? (int)(((char)(c)) - '0') : (int)(-1)) |
Convert US-ASCII decimal digit to its value.
c | character to convert |
Definition at line 294 of file mhd_str.c.
Referenced by MHD_strx_to_uint64_n_().
#define toxdigitvalue | ( | c | ) |
Convert US-ASCII hexadecimal digit to its value.
c | character to convert |
Definition at line 302 of file mhd_str.c.
Referenced by MHD_strx_to_uint32_(), MHD_strx_to_uint32_n_(), MHD_strx_to_uint64_(), and MHD_strx_to_uint64_n_().
int MHD_str_equal_caseless_ | ( | const char * | str1, |
const char * | str2 | ||
) |
Check two string for equality, ignoring case of US-ASCII letters.
str1 | first string to compare |
str2 | second string to compare |
Definition at line 319 of file mhd_str.c.
References toasciilower.
Referenced by build_header_response(), digest_calc_ha1(), keepalive_possible(), MHD_check_response_header_token_ci(), MHD_connection_handle_idle(), MHD_get_response_header(), MHD_lookup_connection_value(), MHD_lookup_header_token_ci(), MHD_queue_response(), need_100_continue(), and parse_connection_headers().
int MHD_str_equal_caseless_n_ | ( | const char *const | str1, |
const char *const | str2, | ||
size_t | maxlen | ||
) |
Check two string for equality, ignoring case of US-ASCII letters and checking not more than maxlen characters. Compares up to first terminating null character, but not more than first maxlen characters.
str1 | first string to compare |
str2 | second string to compare |
maxlen | maximum number of characters to compare |
Definition at line 349 of file mhd_str.c.
References toasciilower.
Referenced by lookup_sub_value(), MHD_create_post_processor(), MHD_post_process(), post_process_multipart(), process_multipart_headers(), and try_match_header().
bool MHD_str_has_token_caseless_ | ( | const char * | str, |
const char *const | token, | ||
size_t | token_len | ||
) |
Check whether str has case-insensitive token. Token could be surrounded by spaces and tabs and delimited by comma. Match succeed if substring between start, end (of string) or comma contains only case-insensitive token and optional spaces and tabs.
str | the string to check |
token | the token to find |
token_len | length of token, not including optional terminating null-character. |
Definition at line 383 of file mhd_str.c.
References toasciilower.
Referenced by MHD_check_response_header_token_ci(), and MHD_lookup_header_token_ci().
size_t MHD_str_to_uint64_ | ( | const char * | str, |
uint64_t * | out_val | ||
) |
Convert decimal US-ASCII digits in string to number in uint64_t. Conversion stopped at first non-digit character.
str | string to convert | |
[out] | out_val | pointer to uint64_t to store result of conversion |
Definition at line 440 of file mhd_str.c.
References isasciidigit, and UINT64_MAX.
Referenced by parse_connection_headers().
size_t MHD_str_to_uint64_n_ | ( | const char * | str, |
size_t | maxlen, | ||
uint64_t * | out_val | ||
) |
Convert not more then maxlen decimal US-ASCII digits in string to number in uint64_t. Conversion stopped at first non-digit character or after maxlen digits.
str | string to convert | |
maxlen | maximum number of characters to process | |
[out] | out_val | pointer to uint64_t to store result of conversion |
Definition at line 482 of file mhd_str.c.
References isasciidigit, and UINT64_MAX.
size_t MHD_strx_to_uint32_ | ( | const char * | str, |
uint32_t * | out_val | ||
) |
Convert hexadecimal US-ASCII digits in string to number in uint32_t. Conversion stopped at first non-digit character.
str | string to convert | |
[out] | out_val | pointer to uint32_t to store result of conversion |
Definition at line 525 of file mhd_str.c.
References toxdigitvalue, and UINT32_MAX.
size_t MHD_strx_to_uint32_n_ | ( | const char * | str, |
size_t | maxlen, | ||
uint32_t * | out_val | ||
) |
Convert not more then maxlen hexadecimal US-ASCII digits in string to number in uint32_t. Conversion stopped at first non-digit character or after maxlen digits.
str | string to convert | |
maxlen | maximum number of characters to process | |
[out] | out_val | pointer to uint32_t to store result of conversion |
Definition at line 571 of file mhd_str.c.
References toxdigitvalue, and UINT32_MAX.
Referenced by MHD_digest_auth_check(), and MHD_http_unescape().
size_t MHD_strx_to_uint64_ | ( | const char * | str, |
uint64_t * | out_val | ||
) |
Convert hexadecimal US-ASCII digits in string to number in uint64_t. Conversion stopped at first non-digit character.
str | string to convert | |
[out] | out_val | pointer to uint64_t to store result of conversion |
Definition at line 611 of file mhd_str.c.
References toxdigitvalue, and UINT64_MAX.
size_t MHD_strx_to_uint64_n_ | ( | const char * | str, |
size_t | maxlen, | ||
uint64_t * | out_val | ||
) |
Convert not more then maxlen hexadecimal US-ASCII digits in string to number in uint64_t. Conversion stopped at first non-digit character or after maxlen digits.
str | string to convert | |
maxlen | maximum number of characters to process | |
[out] | out_val | pointer to uint64_t to store result of conversion |
Definition at line 656 of file mhd_str.c.
References todigitvalue, toxdigitvalue, and UINT64_MAX.
Referenced by MHD_digest_auth_check(), and process_request_body().