summaryrefslogtreecommitdiff
path: root/libsoup/soup-form.c
diff options
context:
space:
mode:
Diffstat (limited to 'libsoup/soup-form.c')
-rw-r--r--libsoup/soup-form.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libsoup/soup-form.c b/libsoup/soup-form.c
index 5946daeb..4dee5647 100644
--- a/libsoup/soup-form.c
+++ b/libsoup/soup-form.c
@@ -218,7 +218,8 @@ append_form_encoded (GString *str, const char *in)
if (*s == ' ') {
g_string_append_c (str, '+');
s++;
- } else if (!g_ascii_isalnum (*s))
+ } else if (!g_ascii_isalnum (*s) && (*s != '-') && (*s != '_')
+ && (*s != '.'))
g_string_append_printf (str, "%%%02X", (int)*s++);
else
g_string_append_c (str, *s++);