CaptiveFileParentObject *captive_file_parent_object_old;
GnomeVFSResult r;
gint retried=0;
+gchar *chksub_pathname_old_cased,*chksub_pathname_new_cased; /* case-sensitive version */
gchar *chksub_pathname_old,*chksub_pathname_new,*chksub_s_old,*chksub_s_new;
g_return_val_if_fail(CAPTIVE_FILE_PARENT_IS_OBJECT(captive_file_object_old),GNOME_VFS_ERROR_BAD_PARAMETERS);
captive_file_parent_object_old=CAPTIVE_FILE_PARENT_OBJECT(captive_file_object_old);
/* Prevent "mv dir dir/subdir" as it is not catched by ntfs.sys of NT-5.1sp1. */
- /* FIXME: UTF8/Unicode */
/* FIXME: Move to 'CaptiveFileSlaveObject' but it has no '->pathname' stored now! */
- chksub_pathname_old=captive_path_normalize(captive_file_parent_object_old->pathname);
- chksub_pathname_new=captive_path_normalize(pathname_new);
+ /* FIXME: UTF8 may not be compared correctly - we should use g_utf8_collate() */
+ chksub_pathname_old_cased=captive_path_normalize(captive_file_parent_object_old->pathname);
+ chksub_pathname_new_cased=captive_path_normalize(pathname_new);
+ chksub_pathname_old=g_utf8_casefold(chksub_pathname_old_cased,
+ -1); /* len; '\0'-terminated */
+ chksub_pathname_new=g_utf8_casefold(chksub_pathname_new_cased,
+ -1); /* len; '\0'-terminated */
+ g_free(chksub_pathname_old_cased);
+ g_free(chksub_pathname_new_cased);
for (
chksub_s_old=chksub_pathname_old,chksub_s_new=chksub_pathname_new;
*chksub_s_old && *chksub_s_new && tolower(*chksub_s_old)==tolower(*chksub_s_new);