diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-07-20 04:50:01 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-07-20 04:50:01 +0000 |
commit | cd4377fab21e0f500bef7f06543fa848a039c1e0 (patch) | |
tree | ba00a55e430c052d6bed0b61c0f8bbe8ebedd313 /httpd/h2o_utils.c | |
parent | Releasing debian version 1.40.1-1. (diff) | |
download | netdata-cd4377fab21e0f500bef7f06543fa848a039c1e0.tar.xz netdata-cd4377fab21e0f500bef7f06543fa848a039c1e0.zip |
Merging upstream version 1.41.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'httpd/h2o_utils.c')
-rw-r--r-- | httpd/h2o_utils.c | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/httpd/h2o_utils.c b/httpd/h2o_utils.c deleted file mode 100644 index 943216f59..000000000 --- a/httpd/h2o_utils.c +++ /dev/null @@ -1,60 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later - -#include "h2o_utils.h" - -#include "h2o/string_.h" - -#include "libnetdata/libnetdata.h" - -char *iovec_to_cstr(h2o_iovec_t *str) -{ - char *c_str = mallocz(str->len + 1); - memcpy(c_str, str->base, str->len); - c_str[str->len] = 0; - return c_str; -} - -#define KEY_VAL_BUFFER_GROWTH_STEP 5 -h2o_iovec_pair_vector_t *parse_URL_params(h2o_mem_pool_t *pool, h2o_iovec_t params_string) -{ - h2o_iovec_pair_vector_t *params_vec = h2o_mem_alloc_shared(pool, sizeof(h2o_iovec_pair_vector_t), NULL); - memset(params_vec, 0, sizeof(h2o_iovec_pair_vector_t)); - - h2o_iovec_pair_t param; - while ((param.name.base = (char*)h2o_next_token(¶ms_string, '&', ¶m.name.len, ¶m.value)) != NULL) { - if (params_vec->capacity == params_vec->size) - h2o_vector_reserve(pool, params_vec, params_vec->capacity + KEY_VAL_BUFFER_GROWTH_STEP); - - params_vec->entries[params_vec->size++] = param; - } - - return params_vec; -} - -h2o_iovec_pair_t *get_URL_param_by_name(h2o_iovec_pair_vector_t *params_vec, const void *needle, size_t needle_len) -{ - for (size_t i = 0; i < params_vec->size; i++) { - h2o_iovec_pair_t *ret = ¶ms_vec->entries[i]; - if (h2o_memis(ret->name.base, ret->name.len, needle, needle_len)) - return ret; - } - return NULL; -} - -char *url_unescape(const char *url) -{ - char *result = mallocz(strlen(url) + 1); - - int i, j; - for (i = 0, j = 0; url[i] != 0; i++, j++) { - if (url[i] == '%' && isxdigit(url[i+1]) && isxdigit(url[i+2])) { - char hex[3] = { url[i+1], url[i+2], 0 }; - result[j] = strtol(hex, NULL, 16); - i += 2; - } else - result[j] = url[i]; - } - result[j] = 0; - - return result; -} |