X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fblob_table.c;h=39dc865bf048c6e6e7fbde2789be29f4dcc32ba1;hp=4714b91c2f373fba97c0674734ae6b4237a415e0;hb=1d898377d67701075d0b9e6d7f8541aad21599a4;hpb=89786123beb6033f84fb2f2934211c3aeb1cc8c6 diff --git a/src/blob_table.c b/src/blob_table.c index 4714b91c..39dc865b 100644 --- a/src/blob_table.c +++ b/src/blob_table.c @@ -143,21 +143,15 @@ clone_blob_descriptor(const struct blob_descriptor *old) 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; @@ -193,7 +187,6 @@ blob_release_location(struct blob_descriptor *blob) #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); } @@ -455,7 +448,7 @@ cmp_blobs_by_sequential_order(const void *p1, const void *p2) 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