X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fntfs-3g_apply.c;h=f0386b1245a025c6138308f8e13cfb9676172684;hp=3a02812814a71b186212e62c73d5c98bb773bea5;hb=5538002965b9a7f08aef62c7b03194aa40bb0751;hpb=f50557a7095444c554a066b3837c2999ecd1be31 diff --git a/src/ntfs-3g_apply.c b/src/ntfs-3g_apply.c index 3a028128..f0386b12 100644 --- a/src/ntfs-3g_apply.c +++ b/src/ntfs-3g_apply.c @@ -707,8 +707,6 @@ ntfs_3g_begin_extract_blob_instance(struct blob_descriptor *blob, return WIMLIB_ERR_INVALID_REPARSE_DATA; } ctx->reparse_ptr = ctx->rpbuf.rpdata; - ctx->rpbuf.rpdatalen = cpu_to_le16(blob->size); - ctx->rpbuf.rpreserved = cpu_to_le16(0); ctx->ntfs_reparse_inodes[ctx->num_reparse_inodes] = ni; ctx->wim_reparse_inodes[ctx->num_reparse_inodes] = inode; ctx->num_reparse_inodes++; @@ -862,11 +860,11 @@ ntfs_3g_end_extract_blob(struct blob_descriptor *blob, int status, void *_ctx) for (u32 i = 0; i < ctx->num_reparse_inodes; i++) { struct wim_inode *inode = ctx->wim_reparse_inodes[i]; - ctx->rpbuf.rptag = cpu_to_le32(inode->i_reparse_tag); + complete_reparse_point(&ctx->rpbuf, inode, blob->size); if (ntfs_set_ntfs_reparse_data(ctx->ntfs_reparse_inodes[i], (const char *)&ctx->rpbuf, - blob->size + REPARSE_DATA_OFFSET, + REPARSE_DATA_OFFSET + blob->size, 0)) { ERROR_WITH_ERRNO("Failed to set reparse "