const struct wim_inode_stream *strm;
struct wimlib_unix_data unix_data;
- ret = utf16le_get_tstr(dentry->file_name, dentry->file_name_nbytes,
+ ret = utf16le_get_tstr(dentry->d_name, dentry->d_name_nbytes,
&wdentry->filename, &dummy);
if (ret)
return ret;
- ret = utf16le_get_tstr(dentry->short_name, dentry->short_name_nbytes,
+ ret = utf16le_get_tstr(dentry->d_short_name, dentry->d_short_name_nbytes,
&wdentry->dos_name, &dummy);
if (ret)
return ret;
ret = calculate_dentry_full_path(dentry);
if (ret)
return ret;
- wdentry->full_path = dentry->_full_path;
+ wdentry->full_path = dentry->d_full_path;
for (struct wim_dentry *d = dentry; !dentry_is_root(d); d = d->d_parent)
wdentry->depth++;
- if (inode->i_security_id >= 0) {
+ if (inode_has_security_descriptor(inode)) {
struct wim_security_data *sd;
sd = wim_get_current_security_data(wim);
}
}
out_free_wimlib_dentry:
+ FREE(dentry->d_full_path);
+ dentry->d_full_path = NULL;
free_wimlib_dentry(wdentry);
out:
return ret;
path = canonicalize_wim_path(_path);
if (path == NULL)
return WIMLIB_ERR_NOMEM;
+
+ ret = wim_checksum_unhashed_blobs(wim);
+ if (ret)
+ return ret;
+
struct image_iterate_dir_tree_ctx ctx = {
.path = path,
.flags = flags,