X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=src%2Fextract.c;h=24c3e7518ab1112374bd4a166755443ef8e7f324;hb=6307cde518579ed20e2d6e6488bec204a4a22555;hp=138623b630da38bfb86331c932132d8a94f8073e;hpb=27b30056e4520e9b5b9d0846f438311746345f83;p=wimlib diff --git a/src/extract.c b/src/extract.c index 138623b6..24c3e751 100644 --- a/src/extract.c +++ b/src/extract.c @@ -442,7 +442,7 @@ remove_contained_trees(struct wim_dentry **trees, size_t num_trees) for (i = 0; i < num_trees; i++) { struct wim_dentry *d = trees[i]; while (!dentry_is_root(d)) { - d = d->parent; + d = d->d_parent; if (d->tmp_flag) goto tree_contained; } @@ -509,7 +509,7 @@ build_dentry_list(struct list_head *dentry_list, struct wim_dentry **trees, place_after = dentry_list; ancestor = dentry; do { - ancestor = ancestor->parent; + ancestor = ancestor->d_parent; if (will_extract_dentry(ancestor)) { place_after = &ancestor->d_extraction_list_node; break; @@ -518,7 +518,7 @@ build_dentry_list(struct list_head *dentry_list, struct wim_dentry **trees, ancestor = dentry; do { - ancestor = ancestor->parent; + ancestor = ancestor->d_parent; if (will_extract_dentry(ancestor)) break; list_add(&ancestor->d_extraction_list_node, place_after); @@ -1134,6 +1134,13 @@ do_feature_check(const struct wim_features *required_features, return WIMLIB_ERR_UNSUPPORTED; } + if (required_features->unix_data && + !(extract_flags & WIMLIB_EXTRACT_FLAG_UNIX_DATA)) + { + WARNING("Ignoring UNIX metadata of %lu files", + required_features->unix_data); + } + /* DOS Names. */ if (required_features->short_names && !supported_features->short_names)