aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/curl/lib/escape.c
diff options
context:
space:
mode:
authorAlexander Smirnov <alex@ydb.tech>2024-10-16 12:11:24 +0000
committerAlexander Smirnov <alex@ydb.tech>2024-10-16 12:11:24 +0000
commit40811e93f3fdf9342a9295369994012420fac548 (patch)
treea8d85e094a9c21e10aa250f537c101fc2016a049 /contrib/libs/curl/lib/escape.c
parent30ebe5357bb143648c6be4d151ecd4944af81ada (diff)
parent28a0c4a9f297064538a018c512cd9bbd00a1a35d (diff)
downloadydb-40811e93f3fdf9342a9295369994012420fac548.tar.gz
Merge branch 'rightlib' into mergelibs-241016-1210
Diffstat (limited to 'contrib/libs/curl/lib/escape.c')
-rw-r--r--contrib/libs/curl/lib/escape.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/contrib/libs/curl/lib/escape.c b/contrib/libs/curl/lib/escape.c
index 9b6edb4433..5af00c3514 100644
--- a/contrib/libs/curl/lib/escape.c
+++ b/contrib/libs/curl/lib/escape.c
@@ -60,18 +60,17 @@ char *curl_easy_escape(struct Curl_easy *data, const char *string,
struct dynbuf d;
(void)data;
- if(!string || (inlength < 0))
+ if(inlength < 0)
return NULL;
+ Curl_dyn_init(&d, CURL_MAX_INPUT_LENGTH * 3);
+
length = (inlength?(size_t)inlength:strlen(string));
if(!length)
return strdup("");
- Curl_dyn_init(&d, length * 3 + 1);
-
while(length--) {
- /* treat the characters unsigned */
- unsigned char in = (unsigned char)*string++;
+ unsigned char in = *string++; /* treat the characters unsigned */
if(ISUNRESERVED(in)) {
/* append this */
@@ -138,7 +137,7 @@ CURLcode Curl_urldecode(const char *string, size_t length,
*ostring = ns;
while(alloc) {
- unsigned char in = (unsigned char)*string;
+ unsigned char in = *string;
if(('%' == in) && (alloc > 2) &&
ISXDIGIT(string[1]) && ISXDIGIT(string[2])) {
/* this is two hexadecimal digits following a '%' */
@@ -158,7 +157,7 @@ CURLcode Curl_urldecode(const char *string, size_t length,
return CURLE_URL_MALFORMAT;
}
- *ns++ = (char)in;
+ *ns++ = in;
}
*ns = 0; /* terminate it */
@@ -181,7 +180,7 @@ char *curl_easy_unescape(struct Curl_easy *data, const char *string,
{
char *str = NULL;
(void)data;
- if(string && (length >= 0)) {
+ if(length >= 0) {
size_t inputlen = (size_t)length;
size_t outputlen;
CURLcode res = Curl_urldecode(string, inputlen, &str, &outputlen,
@@ -223,8 +222,8 @@ void Curl_hexencode(const unsigned char *src, size_t len, /* input length */
while(len-- && (olen >= 3)) {
/* clang-tidy warns on this line without this comment: */
/* NOLINTNEXTLINE(clang-analyzer-core.UndefinedBinaryOperatorResult) */
- *out++ = (unsigned char)hex[(*src & 0xF0)>>4];
- *out++ = (unsigned char)hex[*src & 0x0F];
+ *out++ = hex[(*src & 0xF0)>>4];
+ *out++ = hex[*src & 0x0F];
++src;
olen -= 2;
}