diff options
author | Alexander Larsson <alexl@redhat.com> | 2003-01-17 08:53:29 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2003-01-17 08:53:29 +0000 |
commit | 5a1f0d7b6a0a2c45c0498843e60ddc41bacc390e (patch) | |
tree | 0c1820e905e06f0f291cc3cfd8cf392a8b6d1831 /libnautilus-private/nautilus-file-operations.c | |
parent | 00dc676d518d85b6a87177160d215642406d949f (diff) | |
download | nautilus-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.c | 26 |
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; } |