X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fextract.c;h=ea9c25228d8c8a4877a59223b6daa78e2777d749;hp=c794620d590c170c222d79fe233f8dd7e118140c;hb=846d3ae386f6c12953816108c04de244533e3a4a;hpb=aac0f095b5ed1273f91d87009f3b551eedcee085 diff --git a/src/extract.c b/src/extract.c index c794620d..ea9c2522 100644 --- a/src/extract.c +++ b/src/extract.c @@ -1080,18 +1080,14 @@ static void dentry_list_build_inode_alias_lists(struct list_head *dentry_list) { struct wim_dentry *dentry; - struct wim_inode *inode; + + list_for_each_entry(dentry, dentry_list, d_extraction_list_node) + dentry->d_inode->i_first_extraction_alias = NULL; list_for_each_entry(dentry, dentry_list, d_extraction_list_node) { - inode = dentry->d_inode; - if (!inode->i_visited) - INIT_LIST_HEAD(&inode->i_extraction_aliases); - list_add_tail(&dentry->d_extraction_alias_node, - &inode->i_extraction_aliases); - inode->i_visited = 1; + dentry->d_next_extraction_alias = dentry->d_inode->i_first_extraction_alias; + dentry->d_inode->i_first_extraction_alias = dentry; } - list_for_each_entry(dentry, dentry_list, d_extraction_list_node) - dentry->d_inode->i_visited = 0; } static void