mirror of
				https://github.com/pbatard/rufus.git
				synced 2024-08-14 23:57:05 +00:00 
			
		
		
		
	[iso] fix "ISO has not been properly scanned" error for some ISOs
* Make sure that if we skip a deep directory during scan, we count at least one block of data. * Also produce a note about deep directory long scan times and improve the formatting of some messages.
This commit is contained in:
		
							parent
							
								
									2d272b7991
								
							
						
					
					
						commit
						318d5ed16d
					
				
					 3 changed files with 14 additions and 8 deletions
				
			
		|  | @ -679,6 +679,9 @@ static int iso_extract_files(iso9660_t* p_iso, const char *psz_path) | ||||||
| 		p_statbuf = (iso9660_stat_t*) _cdio_list_node_data(p_entnode); | 		p_statbuf = (iso9660_stat_t*) _cdio_list_node_data(p_entnode); | ||||||
| 		if (scan_only && (p_statbuf->rr.b3_rock == yep) && enable_rockridge) { | 		if (scan_only && (p_statbuf->rr.b3_rock == yep) && enable_rockridge) { | ||||||
| 			if (p_statbuf->rr.u_su_fields & ISO_ROCK_SUF_PL) { | 			if (p_statbuf->rr.u_su_fields & ISO_ROCK_SUF_PL) { | ||||||
|  | 				if (!img_report.has_deep_directories) | ||||||
|  | 					uprintf("  Note: The selected ISO uses Rock Ridge 'deep directories'.\r\n" | ||||||
|  | 						"  Because of this, it may take a very long time to scan or extract..."); | ||||||
| 				img_report.has_deep_directories = TRUE; | 				img_report.has_deep_directories = TRUE; | ||||||
| 				// Due to the nature of the parsing of Rock Ridge deep directories
 | 				// Due to the nature of the parsing of Rock Ridge deep directories
 | ||||||
| 				// which requires performing a *very costly* search of the whole
 | 				// which requires performing a *very costly* search of the whole
 | ||||||
|  | @ -689,6 +692,8 @@ static int iso_extract_files(iso9660_t* p_iso, const char *psz_path) | ||||||
| 				// short by telling the parent not to bother any further once we
 | 				// short by telling the parent not to bother any further once we
 | ||||||
| 				// find that we are dealing with a deep directory.
 | 				// find that we are dealing with a deep directory.
 | ||||||
| 				r = -1; | 				r = -1; | ||||||
|  | 				// Add at least one extra block, since we're skipping content.
 | ||||||
|  | 				total_blocks++; | ||||||
| 				goto out; | 				goto out; | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
|  | @ -1089,11 +1089,12 @@ static void DisplayISOProps(void) | ||||||
| 			(img_report.wininst_version >= SPECIAL_WIM_VERSION) ? "+": ""); | 			(img_report.wininst_version >= SPECIAL_WIM_VERSION) ? "+": ""); | ||||||
| 	} | 	} | ||||||
| 	PRINT_ISO_PROP(img_report.has_symlinks, | 	PRINT_ISO_PROP(img_report.has_symlinks, | ||||||
| 		"  Note: This ISO uses symbolic links, which will not be replicated due to file system limitations."); | 		"  Note: This ISO uses symbolic links, which will not be replicated due to file system"); | ||||||
| 	PRINT_ISO_PROP((img_report.has_symlinks == SYMLINKS_RR), | 	PRINT_ISO_PROP((img_report.has_symlinks == SYMLINKS_RR), | ||||||
| 		"  Because of this, some features from this image may not work..."); | 		"  limitations. Because of this, some features from this image may not work..."); | ||||||
| 	PRINT_ISO_PROP((img_report.has_symlinks == SYMLINKS_UDF), | 	PRINT_ISO_PROP((img_report.has_symlinks == SYMLINKS_UDF), | ||||||
| 		"  Because of this, the size required for the target media may be much larger than size of the ISO..."); | 		"  limitations. Because of this, the size required for the target media may be much\r\n" | ||||||
|  | 		"  larger than size of the ISO..."); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Insert the image name into the Boot selection dropdown and (re)populate the Image option dropdown
 | // Insert the image name into the Boot selection dropdown and (re)populate the Image option dropdown
 | ||||||
|  |  | ||||||
							
								
								
									
										10
									
								
								src/rufus.rc
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								src/rufus.rc
									
										
									
									
									
								
							|  | @ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL | ||||||
| IDD_DIALOG DIALOGEX 12, 12, 232, 326 | IDD_DIALOG DIALOGEX 12, 12, 232, 326 | ||||||
| STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | ||||||
| EXSTYLE WS_EX_ACCEPTFILES | EXSTYLE WS_EX_ACCEPTFILES | ||||||
| CAPTION "Rufus 3.12.1708" | CAPTION "Rufus 3.12.1709" | ||||||
| FONT 9, "Segoe UI Symbol", 400, 0, 0x0 | FONT 9, "Segoe UI Symbol", 400, 0, 0x0 | ||||||
| BEGIN | BEGIN | ||||||
|     LTEXT           "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP |     LTEXT           "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP | ||||||
|  | @ -395,8 +395,8 @@ END | ||||||
| // | // | ||||||
| 
 | 
 | ||||||
| VS_VERSION_INFO VERSIONINFO | VS_VERSION_INFO VERSIONINFO | ||||||
|  FILEVERSION 3,12,1708,0 |  FILEVERSION 3,12,1709,0 | ||||||
|  PRODUCTVERSION 3,12,1708,0 |  PRODUCTVERSION 3,12,1709,0 | ||||||
|  FILEFLAGSMASK 0x3fL |  FILEFLAGSMASK 0x3fL | ||||||
| #ifdef _DEBUG | #ifdef _DEBUG | ||||||
|  FILEFLAGS 0x1L |  FILEFLAGS 0x1L | ||||||
|  | @ -414,13 +414,13 @@ BEGIN | ||||||
|             VALUE "Comments", "https://rufus.ie" |             VALUE "Comments", "https://rufus.ie" | ||||||
|             VALUE "CompanyName", "Akeo Consulting" |             VALUE "CompanyName", "Akeo Consulting" | ||||||
|             VALUE "FileDescription", "Rufus" |             VALUE "FileDescription", "Rufus" | ||||||
|             VALUE "FileVersion", "3.12.1708" |             VALUE "FileVersion", "3.12.1709" | ||||||
|             VALUE "InternalName", "Rufus" |             VALUE "InternalName", "Rufus" | ||||||
|             VALUE "LegalCopyright", "© 2011-2020 Pete Batard (GPL v3)" |             VALUE "LegalCopyright", "© 2011-2020 Pete Batard (GPL v3)" | ||||||
|             VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html" |             VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html" | ||||||
|             VALUE "OriginalFilename", "rufus-3.12.exe" |             VALUE "OriginalFilename", "rufus-3.12.exe" | ||||||
|             VALUE "ProductName", "Rufus" |             VALUE "ProductName", "Rufus" | ||||||
|             VALUE "ProductVersion", "3.12.1708" |             VALUE "ProductVersion", "3.12.1709" | ||||||
|         END |         END | ||||||
|     END |     END | ||||||
|     BLOCK "VarFileInfo" |     BLOCK "VarFileInfo" | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue