]> wimlib.net Git - wimlib/blobdiff - src/extract.c
tagged_items.c: Include header size when searching items
[wimlib] / src / extract.c
index 138623b630da38bfb86331c932132d8a94f8073e..24c3e7518ab1112374bd4a166755443ef8e7f324 100644 (file)
@@ -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)