sizeof(struct ntfs_location));
if (new->ntfs_loc == NULL)
goto out_free;
- new->ntfs_loc->path = STRDUP(old->ntfs_loc->path);
- new->ntfs_loc->attr_name = NULL;
- if (new->ntfs_loc->path == NULL)
- goto out_free;
- if (new->ntfs_loc->attr_name_nchars != 0) {
+ if (new->ntfs_loc->attr_name != NULL) {
new->ntfs_loc->attr_name =
- utf16le_dup(old->ntfs_loc->attr_name);
+ utf16le_dup(new->ntfs_loc->attr_name);
if (new->ntfs_loc->attr_name == NULL)
goto out_free;
}
}
break;
#endif
- default:
- break;
}
return new;
#ifdef WITH_NTFS_3G
case BLOB_IN_NTFS_VOLUME:
if (blob->ntfs_loc) {
- FREE(blob->ntfs_loc->path);
FREE(blob->ntfs_loc->attr_name);
FREE(blob->ntfs_loc);
}
return tstrcmp(blob1->file_on_disk, blob2->file_on_disk);
#ifdef WITH_NTFS_3G
case BLOB_IN_NTFS_VOLUME:
- return tstrcmp(blob1->ntfs_loc->path, blob2->ntfs_loc->path);
+ return cmp_u64(blob1->ntfs_loc->mft_no, blob2->ntfs_loc->mft_no);
#endif
default:
/* No additional sorting order defined for this resource