summaryrefslogtreecommitdiff
path: root/libnautilus-extensions
diff options
context:
space:
mode:
Diffstat (limited to 'libnautilus-extensions')
-rw-r--r--libnautilus-extensions/nautilus-directory.c33
-rw-r--r--libnautilus-extensions/nautilus-file-utilities.c19
-rw-r--r--libnautilus-extensions/nautilus-file-utilities.h1
-rw-r--r--libnautilus-extensions/nautilus-file.c6
4 files changed, 28 insertions, 31 deletions
diff --git a/libnautilus-extensions/nautilus-directory.c b/libnautilus-extensions/nautilus-directory.c
index 904a8f229..b2c544116 100644
--- a/libnautilus-extensions/nautilus-directory.c
+++ b/libnautilus-extensions/nautilus-directory.c
@@ -691,27 +691,6 @@ uri_get_directory_part (const char *uri)
return directory_uri;
}
-static char *
-uri_get_basename (const char *uri)
-{
- GnomeVFSURI *vfs_uri;
- char *escaped_name, *name;
-
- /* Make VFS version of URI. */
- vfs_uri = gnome_vfs_uri_new (uri);
- if (vfs_uri == NULL) {
- return NULL;
- }
-
- /* Extract name part. */
- escaped_name = gnome_vfs_uri_extract_short_path_name (vfs_uri);
- gnome_vfs_uri_unref (vfs_uri);
- name = gnome_vfs_unescape_string (escaped_name, NULL);
- g_free (escaped_name);
-
- return name;
-}
-
/* Return a directory object for this one's parent. */
static NautilusDirectory *
get_parent_directory (const char *uri)
@@ -1000,7 +979,7 @@ nautilus_directory_notify_files_moved (GList *uri_pairs)
nautilus_directory_remove_file (old_directory, file);
/* Update the name. */
- name = uri_get_basename (pair->to_uri);
+ name = nautilus_uri_get_basename (pair->to_uri);
nautilus_file_update_name (file, name);
g_free (name);
@@ -1053,8 +1032,8 @@ nautilus_directory_schedule_metadata_copy (GList *uri_pairs)
source_directory = get_parent_directory (pair->from_uri);
destination_directory = get_parent_directory (pair->to_uri);
- source_file_name = uri_get_basename (pair->from_uri);
- destination_file_name = uri_get_basename (pair->to_uri);
+ source_file_name = nautilus_uri_get_basename (pair->from_uri);
+ destination_file_name = nautilus_uri_get_basename (pair->to_uri);
nautilus_directory_copy_file_metadata (source_directory,
source_file_name,
@@ -1083,8 +1062,8 @@ nautilus_directory_schedule_metadata_move (GList *uri_pairs)
source_directory = get_parent_directory (pair->from_uri);
destination_directory = get_parent_directory (pair->to_uri);
- source_file_name = uri_get_basename (pair->from_uri);
- destination_file_name = uri_get_basename (pair->to_uri);
+ source_file_name = nautilus_uri_get_basename (pair->from_uri);
+ destination_file_name = nautilus_uri_get_basename (pair->to_uri);
nautilus_directory_copy_file_metadata (source_directory,
source_file_name,
@@ -1113,7 +1092,7 @@ nautilus_directory_schedule_metadata_remove (GList *uris)
uri = (const char *) p->data;
directory = get_parent_directory (uri);
- file_name = uri_get_basename (uri);
+ file_name = nautilus_uri_get_basename (uri);
nautilus_directory_remove_file_metadata (directory,
file_name);
diff --git a/libnautilus-extensions/nautilus-file-utilities.c b/libnautilus-extensions/nautilus-file-utilities.c
index b7f94f1ff..9db5469a4 100644
--- a/libnautilus-extensions/nautilus-file-utilities.c
+++ b/libnautilus-extensions/nautilus-file-utilities.c
@@ -160,6 +160,25 @@ nautilus_make_uri_from_input (const char *location)
return toreturn;
}
+char *
+nautilus_uri_get_basename (const char *uri)
+{
+ GnomeVFSURI *vfs_uri;
+ char *name;
+
+ /* Make VFS version of URI. */
+ vfs_uri = gnome_vfs_uri_new (uri);
+ if (vfs_uri == NULL) {
+ return NULL;
+ }
+
+ /* Extract name part. */
+ name = gnome_vfs_uri_extract_short_path_name (vfs_uri);
+ gnome_vfs_uri_unref (vfs_uri);
+
+ return name;
+}
+
gboolean
nautilus_uri_is_trash (const char *uri)
{
diff --git a/libnautilus-extensions/nautilus-file-utilities.h b/libnautilus-extensions/nautilus-file-utilities.h
index 3348c34fe..efbe43bc9 100644
--- a/libnautilus-extensions/nautilus-file-utilities.h
+++ b/libnautilus-extensions/nautilus-file-utilities.h
@@ -43,6 +43,7 @@ char * nautilus_make_uri_canonical (const char
gboolean nautilus_uri_is_canonical_uri (const char *uri);
gboolean nautilus_uris_match (const char *uri_1,
const char *uri_2);
+char * nautilus_uri_get_basename (const char *uri);
/* FIXME bugzilla.eazel.com 2424:
* This is the same as gnome-libs g_concat_dir_and_file except
diff --git a/libnautilus-extensions/nautilus-file.c b/libnautilus-extensions/nautilus-file.c
index 69da59daf..c22a22841 100644
--- a/libnautilus-extensions/nautilus-file.c
+++ b/libnautilus-extensions/nautilus-file.c
@@ -269,7 +269,7 @@ nautilus_file_get_internal (const char *uri, gboolean create)
GnomeVFSURI *vfs_uri, *directory_vfs_uri;
char *directory_uri;
NautilusDirectory *directory;
- char *file_name_escaped, *file_name;
+ char *file_name;
NautilusFile *file;
g_return_val_if_fail (uri != NULL, NULL);
@@ -280,9 +280,7 @@ nautilus_file_get_internal (const char *uri, gboolean create)
file_name = NULL;
if (vfs_uri != NULL) {
- file_name_escaped = gnome_vfs_uri_extract_short_path_name (vfs_uri);
- file_name = gnome_vfs_unescape_string (file_name_escaped, NULL);
- g_free (file_name_escaped);
+ file_name = gnome_vfs_uri_extract_short_name (vfs_uri);
/* Couldn't parse a name out of the URI: the URI must be bogus,
* so we'll treat it like the case where gnome_vfs_uri couldn't