size_t path_len;
struct dos_name_map *dos_name_map;
ntfs_volume *vol;
- struct add_image_params *params;
+ struct capture_params *params;
int ret;
};
size_t path_len,
int name_type,
ntfs_volume *ntfs_vol,
- struct add_image_params *params);
+ struct capture_params *params);
static int
wim_ntfs_capture_filldir(void *dirent, const ntfschar *name,
size_t path_len,
int name_type,
ntfs_volume *vol,
- struct add_image_params *params)
+ struct capture_params *params)
{
u32 attributes;
int ret;
else
ret = do_capture_progress(params, WIMLIB_SCAN_DENTRY_OK, inode);
out:
- if (ret == 0)
- *root_ret = root;
- else
+ if (unlikely(ret)) {
free_dentry_tree(root, params->lookup_table);
+ root = NULL;
+ ret = report_capture_error(params, ret, path);
+ }
+ *root_ret = root;
return ret;
}
int
build_dentry_tree_ntfs(struct wim_dentry **root_p,
const char *device,
- struct add_image_params *params)
+ struct capture_params *params)
{
ntfs_volume *vol;
ntfs_inode *root_ni;