diff options
Diffstat (limited to 'camel/camel-url.c')
-rw-r--r-- | camel/camel-url.c | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/camel/camel-url.c b/camel/camel-url.c index 75b7ac985e..bf578a41a5 100644 --- a/camel/camel-url.c +++ b/camel/camel-url.c @@ -43,7 +43,8 @@ * * protocol://user;AUTH=mech:password@host:port/path * - * The protocol, followed by a ":" is required. If it is followed by * "//", there must be an "authority" containing at least a host, + * The protocol, followed by a ":" is required. If it is followed by * "//", + * there must be an "authority" containing at least a host, * which ends at the end of the string or at the next "/". If there * is an "@" in the authority, there must be a username before it, * and the host comes after it. The authmech, password, and port are @@ -193,19 +194,20 @@ camel_url_to_string (CamelURL *url, gboolean show_passwd) if (url->path) path = camel_url_encode (url->path, FALSE, NULL); - return_result = g_strdup_printf ("%s:%s%s%s%s%s%s%s%s%s%s%s", - url->protocol, - host ? "//" : "", - user ? user : "", - authmech ? ";auth=" : "", - authmech ? authmech : "", - passwd ? ":" : "", - passwd ? passwd : "", - user ? "@" : "", - host ? host : "", - *port ? ":" : "", - port, - path ? path : ""); + return_result = g_strdup_printf ("%s:%s%s%s%s%s%s%s%s%s%s%s%s", + url->protocol, + host ? "//" : "", + user ? user : "", + authmech ? ";auth=" : "", + authmech ? authmech : "", + passwd ? ":" : "", + passwd ? passwd : "", + user ? "@" : "", + host ? host : "", + *port ? ":" : "", + port, + path && *path != '/' ? "/" : "", + path ? path : ""); g_free (user); g_free (authmech); g_free (passwd); |