Updating branch refs/heads/master to a0b7fa48913515b7e9d006b1988e079ea8ed2a88 (commit) from 567eadbc5873ba149fbedddf1be8e1016da87907 (commit)
commit a0b7fa48913515b7e9d006b1988e079ea8ed2a88 Author: Enrico Tröger <enr...@xfce.org> Date: Sun Apr 22 01:10:50 2012 +0200 Improve WebDav URI handling We remove trailing slashes from the path of WebDav URIs and we do not automatically append a trailing slash when generating WebDav URIs. src/bookmark.c | 12 +++++++++--- tests/uri_parsing.c | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/bookmark.c b/src/bookmark.c index b517845..d8c2341 100644 --- a/src/bookmark.c +++ b/src/bookmark.c @@ -234,7 +234,14 @@ gboolean gigolo_bookmark_parse_uri(GigoloBookmark *bookmark, const gchar *uri) { end++; /* skip the slash */ - priv->path = g_strdup(end); + /* remove trailing slashes */ + l = strlen(end); + while (end[l-1] == '/') + { + l--; + } + + priv->path = g_strndup(end, l); } return TRUE; @@ -317,7 +324,7 @@ static gchar *gigolo_bookmark_get_uri_real(GigoloBookmark *bookmark, gboolean es domain = gigolo_bookmark_get_domain(bookmark); - result = g_strdup_printf("%s://%s%s%s%s%s%s/%s%s%s%s", + result = g_strdup_printf("%s://%s%s%s%s%s%s/%s%s%s", priv->scheme, (NZV(domain)) ? domain : "", (NZV(domain)) ? ";" : "", @@ -326,7 +333,6 @@ static gchar *gigolo_bookmark_get_uri_real(GigoloBookmark *bookmark, gboolean es priv->host, (port) ? port : "", (NZV(priv->path)) ? priv->path : "", - (NZV(priv->path)) ? "/" : "", (NZV(priv->share)) ? priv->share : "", (NZV(priv->share)) ? "/" : ""); diff --git a/tests/uri_parsing.c b/tests/uri_parsing.c index ac94e0a..eec492d 100644 --- a/tests/uri_parsing.c +++ b/tests/uri_parsing.c @@ -103,7 +103,7 @@ gint main(gint argc, gchar **argv) { "dav://localhost.localdomain/", "dav://localhost.localdomain/", "dav", "localhost.localdomain", NULL, NULL, 0, NULL}, { "dav://localhost.localdomain", "dav://localhost.localdomain/", "dav", "localhost.localdomain", NULL, NULL, 0, NULL}, { "dav://u...@dav.domain.tld/owncloud/files/webdav.php", "dav://u...@dav.domain.tld/owncloud/files/webdav.php", "dav", "dav.domain.tld", NULL, "owncloud/files/webdav.php", 0, "user"}, - { "davs://user@localhost.localdomain/path/path2/more", "davs://user@localhost.localdomain/path/path2/more", "davs", "localhost.locaaldomain", NULL, "path/path2/more", 0, "user"}, + { "davs://user@localhost.localdomain/path/path2/more//", "davs://user@localhost.localdomain/path/path2/more/", "davs", "localhost.locaaldomain", NULL, "path/path2/more", 0, "user"}, { NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL } }; GigoloBookmark *bm; _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits