aboutsummaryrefslogtreecommitdiffstats
path: root/lib/misc.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-04-25 13:56:20 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2010-04-25 13:56:20 +0100
commit0f64ca78c8ec9ee9be2ffa8ec203e138f7a00804 (patch)
tree868455c37378e17bde2c9a8c69fa3e0dfee93102 /lib/misc.c
parentf1b7711f566163ff27a8f13ae3ccc7214a24fe70 (diff)
Make http_encode() RFC3986-compliant. (Escape everything except alphanumeric
characters plus [-_~.].)
Diffstat (limited to 'lib/misc.c')
-rw-r--r--lib/misc.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/misc.c b/lib/misc.c
index 1d36d639..c56b31f3 100644
--- a/lib/misc.c
+++ b/lib/misc.c
@@ -305,8 +305,7 @@ void http_encode( char *s )
for( i = j = 0; t[i]; i ++, j ++ )
{
- /* if( t[i] <= ' ' || ((unsigned char *)t)[i] >= 128 || t[i] == '%' ) */
- if( !isalnum( t[i] ) )
+ if( !isalnum( t[i] ) && !strchr( "._-~", t[i] ) )
{
sprintf( s + j, "%%%02X", ((unsigned char*)t)[i] );
j += 2;