]> wimlib.net Git - wimlib/blobdiff - src/win32_apply.c
header.c, lookup_table.c: Read/write data from structures
[wimlib] / src / win32_apply.c
index dcec1c5d558e5a181bdf701dc1b90cbc930f3846..272a1dda39c9731b92c982d5d147c93ff4ebd4c5 100644 (file)
 
 #ifdef __WIN32__
 
+#ifdef HAVE_CONFIG_H
+#  include "config.h"
+#endif
+
 #include <aclapi.h> /* for SetSecurityInfo() */
 
-#include "win32_common.h"
-#include "wimlib_internal.h"
-#include "dentry.h"
-#include "lookup_table.h"
-#include "endianness.h"
+#include "wimlib/win32_common.h"
+
+#include "wimlib/apply.h"
+#include "wimlib/dentry.h"
+#include "wimlib/endianness.h"
+#include "wimlib/error.h"
+#include "wimlib/lookup_table.h"
+#include "wimlib/metadata.h"
+#include "wimlib/reparse.h"
+#include "wimlib/security.h"
 
 #define MAX_CREATE_HARD_LINK_WARNINGS 5
 #define MAX_CREATE_SOFT_LINK_WARNINGS 5
@@ -668,7 +677,6 @@ win32_finish_extract_stream(HANDLE h, const struct wim_dentry *dentry,
 {
        int ret = 0;
        const struct wim_inode *inode = dentry->d_inode;
-       const wchar_t *short_name;
        if (stream_name_utf16 == NULL) {
                /* Unnamed stream. */
 
@@ -724,7 +732,7 @@ win32_finish_extract_stream(HANDLE h, const struct wim_dentry *dentry,
                }
 
                if (dentry_has_short_name(dentry))
-                       SetFileShortNameW(h, short_name);
+                       SetFileShortNameW(h, dentry->short_name);
                else if (running_on_windows_7_or_later())
                        SetFileShortNameW(h, L"");
        } else {
@@ -1089,7 +1097,7 @@ win32_check_vol_flags(const wchar_t *output_path,
        win32_get_vol_flags(output_path, &args->vol_flags);
        args->have_vol_flags = true;
 
-       missing_features = dentry_features args->vol_flags;
+       missing_features = dentry_features & ~args->vol_flags;
 
        /* Warn the user about data that may not be extracted. */
        if (missing_features & FILE_SUPPORTS_SPARSE_FILES)