summaryrefslogtreecommitdiff
path: root/libnautilus-private/nautilus-file-operations.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2003-01-17 08:53:29 +0000
committerAlexander Larsson <alexl@src.gnome.org>2003-01-17 08:53:29 +0000
commit5a1f0d7b6a0a2c45c0498843e60ddc41bacc390e (patch)
tree0c1820e905e06f0f291cc3cfd8cf392a8b6d1831 /libnautilus-private/nautilus-file-operations.c
parent00dc676d518d85b6a87177160d215642406d949f (diff)
downloadnautilus-5a1f0d7b6a0a2c45c0498843e60ddc41bacc390e.tar.gz
Convert link names and duplicate names with g_filename_to/from_utf8().
2003-01-17 Alexander Larsson <alexl@redhat.com> * libnautilus-private/nautilus-file-operations.c: Convert link names and duplicate names with g_filename_to/from_utf8(). (#103721) Patch from hidetoshi.tajima@sun.com
Diffstat (limited to 'libnautilus-private/nautilus-file-operations.c')
-rw-r--r--libnautilus-private/nautilus-file-operations.c26
1 files changed, 20 insertions, 6 deletions
diff --git a/libnautilus-private/nautilus-file-operations.c b/libnautilus-private/nautilus-file-operations.c
index 97a5b249c..f6f6c9c92 100644
--- a/libnautilus-private/nautilus-file-operations.c
+++ b/libnautilus-private/nautilus-file-operations.c
@@ -1103,15 +1103,21 @@ get_link_name (char *name, int count)
{
char *result;
char *unescaped_name;
+ char *unescaped_tmp_name;
char *unescaped_result;
+ char *new_file;
const char *format;
g_assert (name != NULL);
- unescaped_name = gnome_vfs_unescape_string (name, "/");
+ unescaped_tmp_name = gnome_vfs_unescape_string (name, "/");
g_free (name);
+ unescaped_name = g_filename_to_utf8 (unescaped_tmp_name, -1,
+ NULL, NULL, NULL);
+ g_free (unescaped_tmp_name);
+
if (count < 1) {
g_warning ("bad count in get_link_name");
count = 1;
@@ -1164,11 +1170,12 @@ get_link_name (char *name, int count)
}
unescaped_result = g_strdup_printf (format, count, unescaped_name);
}
-
- result = gnome_vfs_escape_path_string (unescaped_result);
+ new_file = g_filename_from_utf8 (unescaped_result, -1, NULL, NULL, NULL);
+ result = gnome_vfs_escape_path_string (new_file);
g_free (unescaped_name);
g_free (unescaped_result);
+ g_free (new_file);
return result;
}
@@ -1455,18 +1462,25 @@ static char *
get_next_duplicate_name (char *name, int count_increment)
{
char *unescaped_name;
+ char *unescaped_tmp_name;
char *unescaped_result;
char *result;
+ char *new_file;
- unescaped_name = gnome_vfs_unescape_string (name, "/");
+ unescaped_tmp_name = gnome_vfs_unescape_string (name, "/");
g_free (name);
+ unescaped_name = g_filename_to_utf8 (unescaped_tmp_name, -1,
+ NULL, NULL, NULL);
+ g_free (unescaped_tmp_name);
+
unescaped_result = get_duplicate_name (unescaped_name, count_increment);
g_free (unescaped_name);
- result = gnome_vfs_escape_path_string (unescaped_result);
+ new_file = g_filename_from_utf8 (unescaped_result, -1, NULL, NULL, NULL);
+ result = gnome_vfs_escape_path_string (new_file);
g_free (unescaped_result);
-
+ g_free (new_file);
return result;
}