From 3e34aebfc3910ae8f06cbfc33890555f97955fc8 Mon Sep 17 00:00:00 2001 From: Erik Larsson Date: Thu, 1 Jul 2010 19:17:45 +0200 Subject: [PATCH] Temporary fix while the ntfs_file_values_compare situation is resolved. Revert if ntfs_file_values_compare is re-added to libntfs-3g, and clean up otherwise. --- ntfsprogs/mkntfs.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/ntfsprogs/mkntfs.c b/ntfsprogs/mkntfs.c index 7a34fbb5..e8a3ef5e 100644 --- a/ntfsprogs/mkntfs.c +++ b/ntfsprogs/mkntfs.c @@ -2722,10 +2722,16 @@ static int insert_index_entry_in_res_dir_index(INDEX_ENTRY *idx, u32 idx_size, if (type == AT_FILE_NAME) { while (((u8*)idx_entry < (u8*)idx_end) && !(idx_entry->ie_flags & INDEX_ENTRY_END)) { + /* i = ntfs_file_values_compare(&idx->key.file_name, &idx_entry->key.file_name, 1, IGNORE_CASE, g_vol->upcase, g_vol->upcase_len); + */ + i = ntfs_names_full_collate(idx->key.file_name.file_name, idx->key.file_name.file_name_length, + idx_entry->key.file_name.file_name, idx_entry->key.file_name.file_name_length, + IGNORE_CASE, g_vol->upcase, + g_vol->upcase_len); /* * If @file_name collates before ie->key.file_name, * there is no matching index entry. @@ -2740,10 +2746,16 @@ static int insert_index_entry_in_res_dir_index(INDEX_ENTRY *idx, u32 idx_size, idx_entry->key.file_name.file_name_type != FILE_NAME_POSIX) return -EEXIST; + /* i = ntfs_file_values_compare(&idx->key.file_name, &idx_entry->key.file_name, 1, CASE_SENSITIVE, g_vol->upcase, g_vol->upcase_len); + */ + i = ntfs_names_full_collate(idx->key.file_name.file_name, idx->key.file_name.file_name_length, + idx_entry->key.file_name.file_name, idx_entry->key.file_name.file_name_length, + CASE_SENSITIVE, g_vol->upcase, + g_vol->upcase_len); if (!i) return -EEXIST; if (i == -1) @@ -3037,9 +3049,14 @@ static int insert_file_link_in_dir_index(INDEX_BLOCK *idx, MFT_REF file_ref, } #endif #endif + /* i = ntfs_file_values_compare(file_name, (FILE_NAME_ATTR*)&ie->key.file_name, 1, IGNORE_CASE, g_vol->upcase, g_vol->upcase_len); + */ + i = ntfs_names_full_collate(file_name->file_name, file_name->file_name_length, + ((FILE_NAME_ATTR*)&ie->key.file_name)->file_name, ((FILE_NAME_ATTR*)&ie->key.file_name)->file_name_length, + IGNORE_CASE, g_vol->upcase, g_vol->upcase_len); /* * If @file_name collates before ie->key.file_name, there is no * matching index entry. @@ -3061,9 +3078,14 @@ static int insert_file_link_in_dir_index(INDEX_BLOCK *idx, MFT_REF file_ref, if (file_name->file_name_type != FILE_NAME_POSIX || ie->key.file_name.file_name_type != FILE_NAME_POSIX) return -EEXIST; + /* i = ntfs_file_values_compare(file_name, (FILE_NAME_ATTR*)&ie->key.file_name, 1, CASE_SENSITIVE, g_vol->upcase, g_vol->upcase_len); + */ + i = ntfs_names_full_collate(file_name->file_name, file_name->file_name_length, + ((FILE_NAME_ATTR*)&ie->key.file_name)->file_name, ((FILE_NAME_ATTR*)&ie->key.file_name)->file_name_length, + CASE_SENSITIVE, g_vol->upcase, g_vol->upcase_len); if (i == -1) break; /* Complete match. Bugger. Can't insert. */