aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-url.c
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2001-03-27 13:22:08 +0800
committerDan Winship <danw@src.gnome.org>2001-03-27 13:22:08 +0800
commit26b82892c72f977aa4602ddef20cca2cc4743e05 (patch)
tree12e14ca3308a7c8268c42857fce4f796d06d5c35 /camel/camel-url.c
parent6b7d4b656884f9f5e9372d11bc6b2278f48a1cb7 (diff)
downloadgsoc2013-evolution-26b82892c72f977aa4602ddef20cca2cc4743e05.tar.gz
gsoc2013-evolution-26b82892c72f977aa4602ddef20cca2cc4743e05.tar.zst
gsoc2013-evolution-26b82892c72f977aa4602ddef20cca2cc4743e05.zip
Fix parsing of params. (output_param): And unparsing...
* camel-url.c (camel_url_new_with_base): Fix parsing of params. (output_param): And unparsing... svn path=/trunk/; revision=8967
Diffstat (limited to 'camel/camel-url.c')
-rw-r--r--camel/camel-url.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/camel/camel-url.c b/camel/camel-url.c
index 2777a3f32a..28f913495d 100644
--- a/camel/camel-url.c
+++ b/camel/camel-url.c
@@ -157,10 +157,10 @@ camel_url_new_with_base (CamelURL *base, const char *url_string)
eq = memchr (cur, '=', p - cur);
if (eq) {
name = g_strndup (cur, eq - cur);
- value = g_strndup (eq + 1, end - (eq + 1));
+ value = g_strndup (eq + 1, p - (eq + 1));
camel_url_decode (value);
} else {
- name = g_strndup (cur, end - cur);
+ name = g_strndup (cur, p - cur);
value = g_strdup ("");
}
camel_url_decode (name);
@@ -369,6 +369,11 @@ output_param (GQuark key_id, gpointer data, gpointer user_data)
enc = camel_url_encode (g_quark_to_string (key_id), FALSE, "?#");
g_string_sprintfa (str, ";%s", enc);
g_free (enc);
+ if (*(char *)data) {
+ enc = camel_url_encode (data, FALSE, "?#");
+ g_string_sprintfa (str, "=%s", enc);
+ g_free (enc);
+ }
}
/**