aboutsummaryrefslogtreecommitdiffstats
path: root/camel
diff options
context:
space:
mode:
Diffstat (limited to 'camel')
-rw-r--r--camel/url-util.c24
-rw-r--r--camel/url-util.h1
2 files changed, 24 insertions, 1 deletions
diff --git a/camel/url-util.c b/camel/url-util.c
index 91779873cb..39294e0d36 100644
--- a/camel/url-util.c
+++ b/camel/url-util.c
@@ -35,7 +35,10 @@
* ";AUTH=mech" addition comes from RFC 2384, "POP URL Scheme".
*/
-/* XXX TODO: recover the words between #'s or ?'s after the path */
+/* XXX TODO:
+ * recover the words between #'s or ?'s after the path
+ * % escapes
+ */
#include <string.h>
#include <config.h>
@@ -129,6 +132,25 @@ Gurl *g_url_new (const gchar* url_string)
return g_url;
}
+gchar *
+g_url_to_string (const Gurl *url, gboolean show_passwd)
+{
+ return g_strdup_printf("%s%s%s%s%s%s%s%s%s%s%s%s%s",
+ url->protocol ? url->protocol : "",
+ url->protocol ? "://" : "",
+ url->user ? url->user : "",
+ url->authmech ? ";auth=" : "",
+ url->authmech ? url->authmech : "",
+ url->passwd && show_passwd ? ":" : "",
+ url->passwd && show_passwd ? url->passwd : "",
+ url->user ? "@" : "",
+ url->host,
+ url->port ? ":" : "",
+ url->port ? url->port : "",
+ url->path ? "/" : "",
+ url->path ? url->path : "");
+}
+
void
g_url_free (Gurl *url)
{
diff --git a/camel/url-util.h b/camel/url-util.h
index 67cc420eb2..86fd1e26ac 100644
--- a/camel/url-util.h
+++ b/camel/url-util.h
@@ -51,6 +51,7 @@ typedef struct {
I chose not to use it */
Gurl *g_url_new (const gchar *url_string);
+gchar *g_url_to_string (const Gurl *url, gboolean show_password);
void g_url_free (Gurl *url);
#ifdef __cplusplus