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.
edge.strict_endians
Erik Larsson 2010-07-01 19:17:45 +02:00
parent 4a641c85e0
commit 3e34aebfc3
1 changed files with 22 additions and 0 deletions

View File

@ -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. */