diff options
-rw-r--r-- | pluma/pluma-utils.c | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/pluma/pluma-utils.c b/pluma/pluma-utils.c index 7879e71d..ddfeee4a 100644 --- a/pluma/pluma-utils.c +++ b/pluma/pluma-utils.c @@ -749,30 +749,39 @@ pluma_utils_location_get_dirname_for_display (GFile *location) if (mount != NULL) { gchar *mount_name; - gchar *path; + gchar *path = NULL; + gchar *dirname; mount_name = g_mount_get_name (mount); g_object_unref (mount); - /* obtain the "path" patrt of the uri */ - if (pluma_utils_decode_uri (uri, - NULL, NULL, - NULL, NULL, - &path)) + /* obtain the "path" part of the uri */ + pluma_utils_decode_uri (uri, + NULL, NULL, + NULL, NULL, + &path); + + if (path == NULL) + { + dirname = pluma_utils_uri_get_dirname (uri); + } + else { - gchar *dirname; - dirname = pluma_utils_uri_get_dirname (path); - res = g_strdup_printf ("%s %s", mount_name, dirname); + } - g_free (path); - g_free (dirname); - g_free (mount_name); + if (dirname == NULL || strcmp (dirname, ".") == 0) + { + res = mount_name; } else { - res = mount_name; + res = g_strdup_printf ("%s %s", mount_name, dirname); + g_free (mount_name); } + + g_free (path); + g_free (dirname); } else { |