X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fextract.c;h=9cbac117f54438d25372c90cb43dd4df4c327bb5;hp=623fbf7ccfaaa9717112208081f8fa9fa1302b35;hb=e10a0fd1f906c342b0b45bc393ec10043c6a8936;hpb=a41be9dbbc8e6450ebbcdeca7e716a64b6ff7360 diff --git a/src/extract.c b/src/extract.c index 623fbf7c..9cbac117 100644 --- a/src/extract.c +++ b/src/extract.c @@ -1658,17 +1658,11 @@ dentry_reset_extraction_list_node(struct wim_dentry *dentry) dentry->extraction_list = (struct list_head){NULL, NULL}; } -static void -dentry_delete_from_list(struct wim_dentry *dentry) +static int +dentry_delete_from_list(struct wim_dentry *dentry, void *_ignore) { list_del(&dentry->extraction_list); dentry_reset_extraction_list_node(dentry); -} - -static int -do_dentry_delete_from_list(struct wim_dentry *dentry, void *_ignore) -{ - dentry_delete_from_list(dentry); return 0; } @@ -1885,7 +1879,7 @@ out_replace: return 0; skip_dentry: - for_dentry_in_tree(dentry, do_dentry_delete_from_list, NULL); + for_dentry_in_tree(dentry, dentry_delete_from_list, NULL); return 0; } @@ -2515,7 +2509,7 @@ extract_trees(WIMStruct *wim, struct wim_dentry **trees, size_t num_trees, INIT_LIST_HEAD(&ctx.stream_list); ret = dentry_list_ref_streams(&dentry_list, &ctx); if (ret) - goto out_finish_or_abort_extract; + goto out_destroy_stream_list; if (extract_flags & WIMLIB_EXTRACT_FLAG_FROM_PIPE) { /* When extracting from a pipe, the number of bytes of data to