mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-07 23:56:57 +02:00
MINOR: http: change url_decode to return the size of the decoded string.
Currently url_decode returns 1 or 0 depending on whether it could decode the string or not. For some future use cases, it will be needed to get the decoded string length after a successful decoding, so let's make it return that value, and fall back to a negative one in case of error.
This commit is contained in:
parent
de6617b486
commit
5068d96ac1
@ -2861,7 +2861,7 @@ int http_process_req_stat_post(struct stream_interface *si, struct http_txn *txn
|
|||||||
*value++ = '\0';
|
*value++ = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!url_decode(key) || !url_decode(value))
|
if (url_decode(key) < 0 || url_decode(value) < 0)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* Now we can check the key to see what to do */
|
/* Now we can check the key to see what to do */
|
||||||
|
@ -1047,13 +1047,13 @@ char *encode_string(char *start, char *stop,
|
|||||||
|
|
||||||
/* Decode an URL-encoded string in-place. The resulting string might
|
/* Decode an URL-encoded string in-place. The resulting string might
|
||||||
* be shorter. If some forbidden characters are found, the conversion is
|
* be shorter. If some forbidden characters are found, the conversion is
|
||||||
* aborted, the string is truncated before the issue and non-zero is returned,
|
* aborted, the string is truncated before the issue and a negative value is
|
||||||
* otherwise the operation returns non-zero indicating success.
|
* returned, otherwise the operation returns the length of the decoded string.
|
||||||
*/
|
*/
|
||||||
int url_decode(char *string)
|
int url_decode(char *string)
|
||||||
{
|
{
|
||||||
char *in, *out;
|
char *in, *out;
|
||||||
int ret = 0;
|
int ret = -1;
|
||||||
|
|
||||||
in = string;
|
in = string;
|
||||||
out = string;
|
out = string;
|
||||||
@ -1074,7 +1074,7 @@ int url_decode(char *string)
|
|||||||
}
|
}
|
||||||
in++;
|
in++;
|
||||||
}
|
}
|
||||||
ret = 1; /* success */
|
ret = out - string; /* success */
|
||||||
end:
|
end:
|
||||||
*out = 0;
|
*out = 0;
|
||||||
return ret;
|
return ret;
|
||||||
|
Loading…
Reference in New Issue
Block a user