]> wimlib.net Git - wimlib/blobdiff - src/win32_capture.c
WIMBoot / system compression: try WOFADK in addition to WOF
[wimlib] / src / win32_capture.c
index 96b373602747c94808ed62b7da4fdfcc8ddc44d3..8937891e75ee205376142a627264470d8e00fb07 100644 (file)
@@ -415,9 +415,8 @@ winnt_recurse_directory(HANDLE h,
        {
                const FILE_NAMES_INFORMATION *info = buf;
                for (;;) {
-                       if (!(info->FileNameLength == 2 && info->FileName[0] == L'.') &&
-                           !(info->FileNameLength == 4 && info->FileName[0] == L'.' &&
-                                                          info->FileName[1] == L'.'))
+                       if (!should_ignore_filename(info->FileName,
+                                                   info->FileNameLength / 2))
                        {
                                wchar_t *p;
                                wchar_t *filename;
@@ -450,8 +449,7 @@ winnt_recurse_directory(HANDLE h,
 
                                if (ret)
                                        goto out_free_buf;
-                               if (child)
-                                       dentry_add_child(parent, child);
+                               attach_scanned_tree(parent, child, params->blob_table);
                        }
                        if (info->NextEntryOffset == 0)
                                break;
@@ -744,6 +742,8 @@ winnt_load_reparse_data(HANDLE h, struct wim_inode *inode,
        }
 
        inode->i_reparse_tag = le32_to_cpu(rpbuf.rptag);
+       inode->i_rp_reserved = le16_to_cpu(rpbuf.rpreserved);
+
        if (!inode_add_stream_with_data(inode,
                                        STREAM_TYPE_REPARSE_POINT,
                                        NO_STREAM_NAME,
@@ -1290,8 +1290,7 @@ retry_open:
                                     filename,
                                     file_info.ino,
                                     params->capture_root_dev,
-                                    (file_info.num_links <= 1 ||
-                                       (file_info.attributes & FILE_ATTRIBUTE_DIRECTORY)),
+                                    (file_info.num_links <= 1),
                                     &root);
        if (ret)
                goto out;