- /* Files cannot have multiple DOS names, even if they have multiple
- * names in multiple directories (i.e. hard links).
- * Source: NTFS-3g authors. */
- struct wim_dentry *dentry_with_dos_name = NULL;
- inode_for_each_dentry(dentry, inode) {
- if (dentry_has_short_name(dentry)) {
- if (dentry_with_dos_name) {
- /* This was previously an error, but if we
- * capture a WIM from UDF on Windows, hard links
- * are supported but DOS names are automatically
- * generated for all names for an inode. */
- #if 0
- ERROR("Hard-linked file has a DOS name at "
- "both `%"TS"' and `%"TS"'",
- dentry_full_path(dentry_with_dos_name),
- dentry_full_path(dentry));
- return WIMLIB_ERR_INVALID_DENTRY;
- #else
- dentry->dos_name_invalid = 1;
- #endif
- }
- dentry_with_dos_name = dentry;
- }
+ if (status)
+ return status;
+
+ progress->verify_streams.completed_streams++;
+ progress->verify_streams.completed_bytes += lte->size;
+
+ /* Handle rate-limiting of progress messages */
+
+ if (progress->verify_streams.completed_bytes < ctx->next_progress)
+ return 0;
+
+ /* Time for another progress message. */
+
+ status = call_progress(ctx->progfunc, WIMLIB_PROGRESS_MSG_VERIFY_STREAMS,
+ progress, ctx->progctx);
+ if (status)
+ return status;
+
+ if (ctx->next_progress == progress->verify_streams.total_bytes) {
+ ctx->next_progress = ~(uint64_t)0;
+ return 0;