diff options
-rw-r--r-- | NEWS | 9 | ||||
-rw-r--r-- | programs/gvfs-ls.c | 11 |
2 files changed, 16 insertions, 4 deletions
@@ -1,3 +1,12 @@ +Major changes in 1.25.90 +======================== +* Several bash-completion fixes and improvements +* mtp: Return ENOTEMPTY if trying to delete a non-empty directory +* Set filesystem::type for all backends +* build: Make EXTRA_DIST independent of configure results +* Several smaller bugfixes +* Translation updates + Major changes in 1.25.4.1 ========================= * monitor: Fix memory leak diff --git a/programs/gvfs-ls.c b/programs/gvfs-ls.c index 6e73aca1..ffa33477 100644 --- a/programs/gvfs-ls.c +++ b/programs/gvfs-ls.c @@ -195,7 +195,8 @@ list (GFile *file) return res; } - +static char* +shell_quote (const gchar *unquoted_string); static void print_mounts (const char *prefix) { @@ -218,7 +219,7 @@ print_mounts (const char *prefix) uri = g_file_get_uri (mount_root); if (prefix == NULL || g_str_has_prefix (uri, prefix)) - g_print ("%s%s\n", uri, g_str_has_suffix (uri, "/") ? "" : "/"); + g_print ("%s%s\n", shell_quote (uri), g_str_has_suffix (uri, "/") ? "" : "/"); g_free (uri); g_object_unref (mount_root); g_object_unref (mount); @@ -253,6 +254,8 @@ shell_quote (const gchar *unquoted_string) g_string_append (dest, "\\'"); else if (*p == '"') g_string_append (dest, "\\\""); + else if (*p == ':') + g_string_append (dest, "\\:"); else g_string_append_c (dest, *p); @@ -271,7 +274,7 @@ show_completed_file (GFile *hit, GFile *cwd_f; GFile *home; - if (g_file_is_native (hit) && !g_str_has_prefix (arg, "file://")) + if (g_file_is_native (hit) && !g_str_has_prefix (g_shell_unquote(arg, NULL), "file://")) { cwd = g_get_current_dir (); cwd_f = g_file_new_for_path (cwd); @@ -302,7 +305,7 @@ show_completed_file (GFile *hit, else display = g_file_get_uri (hit); - g_print ("%s%s\n", display, (is_dir)?"/":""); + g_print ("%s%s\n", shell_quote (display), (is_dir)?"/":""); g_free (display); } |