]> wimlib.net Git - wimlib/blobdiff - src/extract.c
do_extract_warnings(): Adjust wording of warning
[wimlib] / src / extract.c
index c9f6e21f0f8914aa21d1f0a84bea62d155bde0e7..656a76c9487e9cdd509015c04c8d1727f0b83e11 100644 (file)
@@ -1143,7 +1143,8 @@ dentry_extract_skeleton(struct wim_dentry *dentry, void *_ctx)
        {
                inode_for_each_dentry(other_dentry, dentry->d_inode) {
                        if (dentry_has_short_name(other_dentry)
-                           && !other_dentry->skeleton_extracted)
+                           && !other_dentry->skeleton_extracted
+                           && other_dentry->in_extraction_tree)
                        {
                                DEBUG("Creating %"TS" before %"TS" "
                                      "to guarantee correct DOS name extraction",
@@ -1426,7 +1427,7 @@ extract_streams_from_pipe(struct apply_ctx *ctx)
 
                if ((found_lte->resource_location != RESOURCE_NONEXISTENT)
                    && !(found_lte->resource_entry.flags & WIM_RESHDR_FLAG_METADATA)
-                   && (needed_lte = __lookup_resource(lookup_table, found_lte->hash))
+                   && (needed_lte = lookup_resource(lookup_table, found_lte->hash))
                    && (needed_lte->out_refcnt))
                {
                        copy_resource_entry(&needed_lte->resource_entry,
@@ -1623,6 +1624,8 @@ dentry_calculate_extraction_path(struct wim_dentry *dentry, void *_args)
        struct apply_ctx *ctx = _args;
        int ret;
 
+       dentry->in_extraction_tree = 1;
+
        if (dentry == ctx->extract_root || dentry->extraction_skipped)
                return 0;
 
@@ -1742,6 +1745,7 @@ dentry_reset_needs_extraction(struct wim_dentry *dentry, void *_ignore)
 {
        struct wim_inode *inode = dentry->d_inode;
 
+       dentry->in_extraction_tree = 0;
        dentry->extraction_skipped = 0;
        dentry->was_hardlinked = 0;
        dentry->skeleton_extracted = 0;
@@ -2061,7 +2065,7 @@ do_extract_warnings(struct apply_ctx *ctx)
            ctx->no_security_descriptors == 0)
                return;
 
-       WARNING("Extraction of \"%"TS"\" complete, but with one or more warnings:",
+       WARNING("Extraction to \"%"TS"\" complete, but with one or more warnings:",
                ctx->target);
        if (ctx->partial_security_descriptors != 0) {
                WARNING("- Could only partially set the security descriptor\n"
@@ -2776,8 +2780,7 @@ wimlib_extract_image_from_pipe(int pipe_fd, const tchar *image_num_or_name,
         * wimlib_open_wim(), getting a WIMStruct in this way will result in
         * an empty lookup table, no XML data read, and no filename set.  */
        ret = open_wim_as_WIMStruct(&pipe_fd,
-                                   WIMLIB_OPEN_FLAG_FROM_PIPE |
-                                               WIMLIB_OPEN_FLAG_SPLIT_OK,
+                                   WIMLIB_OPEN_FLAG_FROM_PIPE,
                                    &pwm, progress_func);
        if (ret)
                return ret;