const wchar_t *path)
{
struct reparse_data rpdata;
- DWORD rpbuflen;
int ret;
enum rp_status rp_status;
- rpbuflen = *rpbuflen_p;
- ret = parse_reparse_data(rpbuf, rpbuflen, &rpdata);
+ ret = parse_reparse_data(rpbuf, *rpbuflen_p, &rpdata);
if (ret)
return -ret;
&rpdata.substitute_name_nbytes,
capture_root_ino,
capture_root_dev,
- le32_to_cpu(*(u32*)rpbuf));
+ le32_to_cpu(*(le32*)rpbuf));
if (rp_status & RP_FIXED) {
wimlib_assert(rpdata.substitute_name_nbytes % 2 == 0);
utf16lechar substitute_name_copy[rpdata.substitute_name_nbytes / 2];
rpdata.print_name += 4;
rpdata.print_name_nbytes -= 8;
}
- ret = make_reparse_buffer(&rpdata, rpbuf);
+ ret = make_reparse_buffer(&rpdata, rpbuf, rpbuflen_p);
if (ret == 0)
ret = rp_status;
else
}
rpbuflen = bytesReturned;
- reparse_tag = le32_to_cpu(*(u32*)rpbuf);
+ reparse_tag = le32_to_cpu(*(le32*)rpbuf);
if (params->add_flags & WIMLIB_ADD_FLAG_RPFIX &&
(reparse_tag == WIM_IO_REPARSE_TAG_SYMLINK ||
reparse_tag == WIM_IO_REPARSE_TAG_MOUNT_POINT))
/* Reparse point: set the reparse data (which we read already)
* */
inode->i_not_rpfixed = not_rpfixed;
- inode->i_reparse_tag = le32_to_cpu(*(u32*)rpbuf);
+ inode->i_reparse_tag = le32_to_cpu(*(le32*)rpbuf);
ret = inode_set_unnamed_stream(inode, rpbuf + 8, rpbuflen - 8,
params->lookup_table);
} else if (inode->i_attributes & FILE_ATTRIBUTE_DIRECTORY) {