From 2bef0f376dcc2f1fe4aad04e0aae46b8d0d531a7 Mon Sep 17 00:00:00 2001 From: Rodrigo Moya Date: Tue, 2 Oct 2001 14:50:59 +0000 Subject: duplicate also the params member 2001-10-02 Rodrigo Moya * e-url.c (e_uri_copy): duplicate also the params member svn path=/trunk/; revision=13303 --- e-util/ChangeLog | 4 ++++ e-util/e-url.c | 14 +++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/e-util/ChangeLog b/e-util/ChangeLog index c0d8ffd630..e11691a740 100644 --- a/e-util/ChangeLog +++ b/e-util/ChangeLog @@ -1,3 +1,7 @@ +2001-10-02 Rodrigo Moya + + * e-url.c (e_uri_copy): duplicate also the params member + 2001-10-02 Rodrigo Moya * e-url.[ch] (e_uri_copy, e_uri_to_string): new functions diff --git a/e-util/e-url.c b/e-util/e-url.c index 9928aeca66..496cd87981 100644 --- a/e-util/e-url.c +++ b/e-util/e-url.c @@ -263,6 +263,14 @@ e_uri_get_param (EUri *uri, const char *name) return g_datalist_get_data (&uri->params, name); } +static void +copy_param_cb (GQuark key_id, gpointer data, gpointer user_data) +{ + GData *params = (GData *) user_data; + + g_datalist_id_set_data_full (¶ms, key_id, g_strdup (data), g_free); +} + EUri * e_uri_copy (EUri *uri) { @@ -280,7 +288,11 @@ e_uri_copy (EUri *uri) uri_copy->path = g_strdup (uri->path); uri_copy->query = g_strdup (uri->query); uri_copy->fragment = g_strdup (uri->fragment); - /* FIXME: copy uri->params */ + + /* copy uri->params */ + g_datalist_foreach (&uri->params, + (GDataForeachFunc) copy_param_cb, + &uri_copy->params); return uri_copy; } -- cgit v1.2.3