[epiphany] Decode last component of URIs to determine file names for saving
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany] Decode last component of URIs to determine file names for saving
- Date: Mon, 10 Apr 2017 15:37:28 +0000 (UTC)
commit fd5520ef5895f8277fb7c737dbcf29c221845a02
Author: Adrian Perez de Castro <aperez igalia com>
Date: Wed Mar 15 14:31:39 2017 +0200
Decode last component of URIs to determine file names for saving
In the logic to determine which filename to use when saving a non-HTML
resource the last component of the URI was being used as-is, which could
include percent-encoded characters. Calling soup_uri_decode() before
using the value ensures that we present readable file names to the user.
Also, this stops using g_file_get_basename() to extract the last
component of an URI because it would horribly break on platforms which
do not use a slash (“/”) as path separator.
This fixes bug #780086
src/window-commands.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/src/window-commands.c b/src/window-commands.c
index cd5fc70..d48df1b 100644
--- a/src/window-commands.c
+++ b/src/window-commands.c
@@ -1435,7 +1435,8 @@ get_suggested_filename (EphyEmbed *embed)
suggested_filename = g_strdup (webkit_uri_response_get_suggested_filename (response));
if (!suggested_filename) {
SoupURI *soup_uri = soup_uri_new (webkit_web_resource_get_uri (web_resource));
- suggested_filename = g_path_get_basename (soup_uri->path);
+ char *last_slash = strrchr (soup_uri->path, '/');
+ suggested_filename = soup_uri_decode (last_slash ? (last_slash + 1) : soup_uri->path);
soup_uri_free (soup_uri);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]