for (;;) {
if (stream_name_nbytes) {
/* Skip special UNIX data entries (see documentation for
- * WIMLIB_ADD_IMAGE_FLAG_UNIX_DATA) */
+ * WIMLIB_ADD_FLAG_UNIX_DATA) */
if (stream_name_nbytes == WIMLIB_UNIX_DATA_TAG_UTF16LE_NBYTES
&& !memcmp(stream_name,
WIMLIB_UNIX_DATA_TAG_UTF16LE,
/* "Reparse point data, including the tag and optional GUID, cannot
* exceed 16 kilobytes." - MSDN */
- if (wim_resource_size(lte) > (16 * 1024 - 8)) {
+ if (wim_resource_size(lte) > REPARSE_POINT_MAX_SIZE - 8) {
ERROR("Reparse data of `%s' is too long (%"PRIu64" bytes)",
dentry->_full_path, wim_resource_size(lte));
return WIMLIB_ERR_INVALID_DENTRY;
p = put_u16(p, wim_resource_size(lte)); /* ReparseDataLength */
p = put_u16(p, 0); /* Reserved */
- ret = read_full_resource_into_buf(lte, p, false);
+ ret = read_full_resource_into_buf(lte, p);
if (ret)
return ret;
mode_t type;
ntfs_inode *ni = NULL;
struct wim_inode *inode = dentry->d_inode;
- dentry->is_extracted = 1;
+ dentry->needs_extraction = 0;
if (inode->i_attributes & FILE_ATTRIBUTE_DIRECTORY) {
type = S_IFDIR;