mirror of
				https://github.com/pbatard/rufus.git
				synced 2024-08-14 23:57:05 +00:00 
			
		
		
		
	[misc] refactor some global variables' names so we can reinstate -Wshadow
* Also remove no longer used _coverity.cmd and update .gitignore
This commit is contained in:
		
							parent
							
								
									cec443ef61
								
							
						
					
					
						commit
						9610e3a63b
					
				
					 11 changed files with 155 additions and 181 deletions
				
			
		
							
								
								
									
										4
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -36,8 +36,8 @@ | ||||||
| Makefile | Makefile | ||||||
| arm | arm | ||||||
| arm64 | arm64 | ||||||
| x86_32 | x64 | ||||||
| x86_64 | x86 | ||||||
| autom4te.cache | autom4te.cache | ||||||
| config.guess | config.guess | ||||||
| ./config.h | ./config.h | ||||||
|  |  | ||||||
|  | @ -1,26 +0,0 @@ | ||||||
| @rem *** Internal developer script to run Coverity *** |  | ||||||
| @echo off |  | ||||||
| call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" |  | ||||||
| set COV_DIR=D:\cov-analysis-win64-2017.07 |  | ||||||
| set PATH=%PATH%;%COV_DIR%\bin |  | ||||||
| set PWD=%~dp0 |  | ||||||
| set TARGET=x86_32 |  | ||||||
| rmdir cov-int /s /q >NUL 2>NUL |  | ||||||
| rmdir %TARGET% /s /q >NUL 2>NUL |  | ||||||
| del cov-int.zip >NUL 2>NUL |  | ||||||
| mkdir cov-int |  | ||||||
| cov-build --dir cov-int msbuild rufus.sln /p:Configuration=Release,Platform=%TARGET% /maxcpucount |  | ||||||
| rem *** for when/if Coverity manage to clean their act |  | ||||||
| rem cov-build --dir cov-int C:\msys64\usr\bin\bash -cl "export PATH=/mingw32/bin:$PATH; cd /c/rufus; ./configure --build=i686-w64-mingw32 --host=i686-w64-mingw32 --disable-debug; make -j4" |  | ||||||
| rem *** zip script by Peter Mortensen - http://superuser.com/a/111266/286681 |  | ||||||
| echo Set objArgs = WScript.Arguments> zip.vbs |  | ||||||
| echo InputFolder = objArgs(0)>> zip.vbs |  | ||||||
| echo ZipFile = objArgs(1)>> zip.vbs |  | ||||||
| echo CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile, True).Write "PK" ^& Chr(5) ^& Chr(6) ^& String(18, vbNullChar)>> zip.vbs |  | ||||||
| echo Set objShell = CreateObject("Shell.Application")>> zip.vbs |  | ||||||
| echo Set source = objShell.NameSpace(InputFolder)>> zip.vbs |  | ||||||
| echo objShell.NameSpace(ZipFile).CopyHere(source)>> zip.vbs |  | ||||||
| echo wScript.Sleep 8000>> zip.vbs |  | ||||||
| CScript zip.vbs %PWD%cov-int %PWD%cov-int.zip |  | ||||||
| del zip.vbs |  | ||||||
| pause |  | ||||||
|  | @ -12,7 +12,7 @@ AM_V_WINDRES   = $(AM_V_WINDRES_$(V)) | ||||||
| 
 | 
 | ||||||
| rufus_SOURCES = badblocks.c checksum.c dev.c dos.c dos_locale.c drive.c format.c icon.c iso.c localization.c \ | rufus_SOURCES = badblocks.c checksum.c dev.c dos.c dos_locale.c drive.c format.c icon.c iso.c localization.c \ | ||||||
| 	net.c parser.c pki.c process.c rufus.c smart.c stdfn.c stdio.c stdlg.c syslinux.c ui.c vhd.c | 	net.c parser.c pki.c process.c rufus.c smart.c stdfn.c stdio.c stdlg.c syslinux.c ui.c vhd.c | ||||||
| rufus_CFLAGS = -I./ms-sys/inc -I./syslinux/libfat -I./syslinux/libinstaller -I./syslinux/win -I./libcdio $(AM_CFLAGS) -DEXT2_FLAT_INCLUDES=0 -Wno-shadow | rufus_CFLAGS = -I./ms-sys/inc -I./syslinux/libfat -I./syslinux/libinstaller -I./syslinux/win -I./libcdio $(AM_CFLAGS) -DEXT2_FLAT_INCLUDES=0 | ||||||
| rufus_LDFLAGS = $(AM_LDFLAGS) -mwindows | rufus_LDFLAGS = $(AM_LDFLAGS) -mwindows | ||||||
| rufus_LDADD = rufus_rc.o bled/libbled.a ext2fs/libext2fs.a ms-sys/libmssys.a syslinux/libfat/libfat.a syslinux/libinstaller/libinstaller.a syslinux/win/libwin.a \ | rufus_LDADD = rufus_rc.o bled/libbled.a ext2fs/libext2fs.a ms-sys/libmssys.a syslinux/libfat/libfat.a syslinux/libinstaller/libinstaller.a syslinux/win/libwin.a \ | ||||||
| 	libcdio/iso9660/libiso9660.a libcdio/udf/libudf.a libcdio/driver/libdriver.a -lsetupapi -lole32 -lgdi32 -lshlwapi -lcrypt32 -lwintrust -lcomdlg32 -lcomctl32 -luuid -lpsapi | 	libcdio/iso9660/libiso9660.a libcdio/udf/libudf.a libcdio/driver/libdriver.a -lsetupapi -lole32 -lgdi32 -lshlwapi -lcrypt32 -lwintrust -lcomdlg32 -lcomctl32 -luuid -lpsapi | ||||||
|  |  | ||||||
|  | @ -275,7 +275,7 @@ AM_V_WINDRES = $(AM_V_WINDRES_$(V)) | ||||||
| rufus_SOURCES = badblocks.c checksum.c dev.c dos.c dos_locale.c drive.c format.c icon.c iso.c localization.c \
 | rufus_SOURCES = badblocks.c checksum.c dev.c dos.c dos_locale.c drive.c format.c icon.c iso.c localization.c \
 | ||||||
| 	net.c parser.c pki.c process.c rufus.c smart.c stdfn.c stdio.c stdlg.c syslinux.c ui.c vhd.c | 	net.c parser.c pki.c process.c rufus.c smart.c stdfn.c stdio.c stdlg.c syslinux.c ui.c vhd.c | ||||||
| 
 | 
 | ||||||
| rufus_CFLAGS = -I./ms-sys/inc -I./syslinux/libfat -I./syslinux/libinstaller -I./syslinux/win -I./libcdio $(AM_CFLAGS) -DEXT2_FLAT_INCLUDES=0 -Wno-shadow | rufus_CFLAGS = -I./ms-sys/inc -I./syslinux/libfat -I./syslinux/libinstaller -I./syslinux/win -I./libcdio $(AM_CFLAGS) -DEXT2_FLAT_INCLUDES=0 | ||||||
| rufus_LDFLAGS = $(AM_LDFLAGS) -mwindows | rufus_LDFLAGS = $(AM_LDFLAGS) -mwindows | ||||||
| rufus_LDADD = rufus_rc.o bled/libbled.a ext2fs/libext2fs.a ms-sys/libmssys.a syslinux/libfat/libfat.a syslinux/libinstaller/libinstaller.a syslinux/win/libwin.a \
 | rufus_LDADD = rufus_rc.o bled/libbled.a ext2fs/libext2fs.a ms-sys/libmssys.a syslinux/libfat/libfat.a syslinux/libinstaller/libinstaller.a syslinux/win/libwin.a \
 | ||||||
| 	libcdio/iso9660/libiso9660.a libcdio/udf/libudf.a libcdio/driver/libdriver.a -lsetupapi -lole32 -lgdi32 -lshlwapi -lcrypt32 -lwintrust -lcomdlg32 -lcomctl32 -luuid -lpsapi | 	libcdio/iso9660/libiso9660.a libcdio/udf/libudf.a libcdio/driver/libdriver.a -lsetupapi -lole32 -lgdi32 -lshlwapi -lcrypt32 -lwintrust -lcomdlg32 -lcomctl32 -luuid -lpsapi | ||||||
|  |  | ||||||
|  | @ -1415,7 +1415,7 @@ BOOL CreatePartition(HANDLE hDrive, int partition_style, int file_system, BOOL m | ||||||
| 	} | 	} | ||||||
| 	DriveLayoutEx.PartitionEntry[pn].PartitionLength.QuadPart = main_part_size_in_sectors * SelectedDrive.SectorSize; | 	DriveLayoutEx.PartitionEntry[pn].PartitionLength.QuadPart = main_part_size_in_sectors * SelectedDrive.SectorSize; | ||||||
| 	if (partition_style == PARTITION_STYLE_MBR) { | 	if (partition_style == PARTITION_STYLE_MBR) { | ||||||
| 		DriveLayoutEx.PartitionEntry[pn].Mbr.BootIndicator = (bt != BT_NON_BOOTABLE); | 		DriveLayoutEx.PartitionEntry[pn].Mbr.BootIndicator = (boot_type != BT_NON_BOOTABLE); | ||||||
| 		switch (file_system) { | 		switch (file_system) { | ||||||
| 		case FS_FAT16: | 		case FS_FAT16: | ||||||
| 			DriveLayoutEx.PartitionEntry[pn].Mbr.PartitionType = 0x0e;	// FAT16 LBA
 | 			DriveLayoutEx.PartitionEntry[pn].Mbr.PartitionType = 0x0e;	// FAT16 LBA
 | ||||||
|  |  | ||||||
							
								
								
									
										108
									
								
								src/format.c
									
										
									
									
									
								
							
							
						
						
									
										108
									
								
								src/format.c
									
										
									
									
									
								
							|  | @ -809,7 +809,7 @@ static BOOL FormatDrive(DWORD DriveIndex) | ||||||
| 			break; | 			break; | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	if ((fs == FS_UDF) && !((dur_mins == 0) && (dur_secs == 0))) { | 	if ((fs_type == FS_UDF) && !((dur_mins == 0) && (dur_secs == 0))) { | ||||||
| 		PrintInfoDebug(0, MSG_220, &FSType[index], dur_mins, dur_secs); | 		PrintInfoDebug(0, MSG_220, &FSType[index], dur_mins, dur_secs); | ||||||
| 	} else { | 	} else { | ||||||
| 		PrintInfoDebug(0, MSG_222, &FSType[index]); | 		PrintInfoDebug(0, MSG_222, &FSType[index]); | ||||||
|  | @ -855,7 +855,7 @@ static BOOL FormatDrive(DWORD DriveIndex) | ||||||
| 	} | 	} | ||||||
| 	GetWindowTextW(hLabel, wLabel, ARRAYSIZE(wLabel)); | 	GetWindowTextW(hLabel, wLabel, ARRAYSIZE(wLabel)); | ||||||
| 	// Make sure the label is valid
 | 	// Make sure the label is valid
 | ||||||
| 	ToValidLabel(wLabel, (fs == FS_FAT16) || (fs == FS_FAT32) || (fs == FS_EXFAT)); | 	ToValidLabel(wLabel, (fs_type == FS_FAT16) || (fs_type == FS_FAT32) || (fs_type == FS_EXFAT)); | ||||||
| 	ulClusterSize = (ULONG)ComboBox_GetItemData(hClusterSize, ComboBox_GetCurSel(hClusterSize)); | 	ulClusterSize = (ULONG)ComboBox_GetItemData(hClusterSize, ComboBox_GetCurSel(hClusterSize)); | ||||||
| 	if (ulClusterSize < 0x200) { | 	if (ulClusterSize < 0x200) { | ||||||
| 		// 0 is FormatEx's value for default, which we need to use for UDF
 | 		// 0 is FormatEx's value for default, which we need to use for UDF
 | ||||||
|  | @ -872,7 +872,7 @@ static BOOL FormatDrive(DWORD DriveIndex) | ||||||
| 	pfFormatEx(wVolumeName, SelectedDrive.MediaType, &wFSType[index], wLabel, | 	pfFormatEx(wVolumeName, SelectedDrive.MediaType, &wFSType[index], wLabel, | ||||||
| 		IsChecked(IDC_QUICK_FORMAT), ulClusterSize, FormatExCallback); | 		IsChecked(IDC_QUICK_FORMAT), ulClusterSize, FormatExCallback); | ||||||
| 
 | 
 | ||||||
| 	if ((fs == FS_NTFS) && (enable_ntfs_compression) && (pfEnableVolumeCompression != NULL)) { | 	if ((fs_type == FS_NTFS) && (enable_ntfs_compression) && (pfEnableVolumeCompression != NULL)) { | ||||||
| 		wVolumeName[wcslen(wVolumeName)] = '\\';	// Add trailing backslash back again
 | 		wVolumeName[wcslen(wVolumeName)] = '\\';	// Add trailing backslash back again
 | ||||||
| 		if (pfEnableVolumeCompression(wVolumeName, FPF_COMPRESSED)) { | 		if (pfEnableVolumeCompression(wVolumeName, FPF_COMPRESSED)) { | ||||||
| 			uprintf("Enabled NTFS compression\n"); | 			uprintf("Enabled NTFS compression\n"); | ||||||
|  | @ -1011,7 +1011,7 @@ static BOOL WriteMBR(HANDLE hPhysicalDrive) | ||||||
| 	if (SelectedDrive.SectorSize < 512) | 	if (SelectedDrive.SectorSize < 512) | ||||||
| 		goto out; | 		goto out; | ||||||
| 
 | 
 | ||||||
| 	if (pt == PARTITION_STYLE_GPT) { | 	if (partition_type == PARTITION_STYLE_GPT) { | ||||||
| 		// Add a notice in the protective MBR
 | 		// Add a notice in the protective MBR
 | ||||||
| 		fake_fd._handle = (char*)hPhysicalDrive; | 		fake_fd._handle = (char*)hPhysicalDrive; | ||||||
| 		set_bytes_per_sector(SelectedDrive.SectorSize); | 		set_bytes_per_sector(SelectedDrive.SectorSize); | ||||||
|  | @ -1053,7 +1053,7 @@ static BOOL WriteMBR(HANDLE hPhysicalDrive) | ||||||
| 		buffer[0x1c2] = 0x0c; | 		buffer[0x1c2] = 0x0c; | ||||||
| 		break; | 		break; | ||||||
| 	} | 	} | ||||||
| 	if ((bt != BT_NON_BOOTABLE) && (tt == TT_BIOS)) { | 	if ((boot_type != BT_NON_BOOTABLE) && (target_type == TT_BIOS)) { | ||||||
| 		// Set first partition bootable - masquerade as per the DiskID selected
 | 		// Set first partition bootable - masquerade as per the DiskID selected
 | ||||||
| 		buffer[0x1be] = IsChecked(IDC_RUFUS_MBR) ? | 		buffer[0x1be] = IsChecked(IDC_RUFUS_MBR) ? | ||||||
| 			(BYTE)ComboBox_GetItemData(hDiskID, ComboBox_GetCurSel(hDiskID)):0x80; | 			(BYTE)ComboBox_GetItemData(hDiskID, ComboBox_GetCurSel(hDiskID)):0x80; | ||||||
|  | @ -1071,47 +1071,47 @@ static BOOL WriteMBR(HANDLE hPhysicalDrive) | ||||||
| 
 | 
 | ||||||
| 	// What follows is really a case statement with complex conditions listed
 | 	// What follows is really a case statement with complex conditions listed
 | ||||||
| 	// by order of preference
 | 	// by order of preference
 | ||||||
| 	if (HAS_WINDOWS(img_report) && (allow_dual_uefi_bios) && (tt == TT_BIOS)) | 	if (HAS_WINDOWS(img_report) && (allow_dual_uefi_bios) && (target_type == TT_BIOS)) | ||||||
| 		goto windows_mbr; | 		goto windows_mbr; | ||||||
| 
 | 
 | ||||||
| 	// Forced UEFI (by zeroing the MBR)
 | 	// Forced UEFI (by zeroing the MBR)
 | ||||||
| 	if (tt == TT_UEFI) { | 	if (target_type == TT_UEFI) { | ||||||
| 		uprintf(using_msg, "zeroed"); | 		uprintf(using_msg, "zeroed"); | ||||||
| 		r = write_zero_mbr(fp); | 		r = write_zero_mbr(fp); | ||||||
| 		goto notify; | 		goto notify; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Syslinux
 | 	// Syslinux
 | ||||||
| 	if ( (bt == BT_SYSLINUX_V4) || (bt == BT_SYSLINUX_V6) || | 	if ( (boot_type == BT_SYSLINUX_V4) || (boot_type == BT_SYSLINUX_V6) || | ||||||
| 		 ((bt == BT_IMAGE) && HAS_SYSLINUX(img_report)) ) { | 		 ((boot_type == BT_IMAGE) && HAS_SYSLINUX(img_report)) ) { | ||||||
| 		uprintf(using_msg, "Syslinux"); | 		uprintf(using_msg, "Syslinux"); | ||||||
| 		r = write_syslinux_mbr(fp); | 		r = write_syslinux_mbr(fp); | ||||||
| 		goto notify; | 		goto notify; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Grub 2.0
 | 	// Grub 2.0
 | ||||||
| 	if ( ((bt == BT_IMAGE) && (img_report.has_grub2)) || (bt == BT_GRUB2) ) { | 	if ( ((boot_type == BT_IMAGE) && (img_report.has_grub2)) || (boot_type == BT_GRUB2) ) { | ||||||
| 		uprintf(using_msg, "Grub 2.0"); | 		uprintf(using_msg, "Grub 2.0"); | ||||||
| 		r = write_grub2_mbr(fp); | 		r = write_grub2_mbr(fp); | ||||||
| 		goto notify; | 		goto notify; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Grub4DOS
 | 	// Grub4DOS
 | ||||||
| 	if ( ((bt == BT_IMAGE) && (img_report.has_grub4dos)) || (bt == BT_GRUB4DOS) ) { | 	if ( ((boot_type == BT_IMAGE) && (img_report.has_grub4dos)) || (boot_type == BT_GRUB4DOS) ) { | ||||||
| 		uprintf(using_msg, "Grub4DOS"); | 		uprintf(using_msg, "Grub4DOS"); | ||||||
| 		r = write_grub4dos_mbr(fp); | 		r = write_grub4dos_mbr(fp); | ||||||
| 		goto notify; | 		goto notify; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// ReactOS
 | 	// ReactOS
 | ||||||
| 	if (bt == BT_REACTOS) { | 	if (boot_type == BT_REACTOS) { | ||||||
| 		uprintf(using_msg, "ReactOS"); | 		uprintf(using_msg, "ReactOS"); | ||||||
| 		r = write_reactos_mbr(fp); | 		r = write_reactos_mbr(fp); | ||||||
| 		goto notify; | 		goto notify; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// KolibriOS
 | 	// KolibriOS
 | ||||||
| 	if ( (bt == BT_IMAGE) && HAS_KOLIBRIOS(img_report) && (IS_FAT(fs))) { | 	if ( (boot_type == BT_IMAGE) && HAS_KOLIBRIOS(img_report) && (IS_FAT(fs_type))) { | ||||||
| 		uprintf(using_msg, "KolibriOS"); | 		uprintf(using_msg, "KolibriOS"); | ||||||
| 		r = write_kolibrios_mbr(fp); | 		r = write_kolibrios_mbr(fp); | ||||||
| 		goto notify; | 		goto notify; | ||||||
|  | @ -1144,12 +1144,12 @@ static BOOL WriteSBR(HANDLE hPhysicalDrive) | ||||||
| { | { | ||||||
| 	// TODO: Do we need anything special for 4K sectors?
 | 	// TODO: Do we need anything special for 4K sectors?
 | ||||||
| 	DWORD size, max_size, mbr_size = 0x200; | 	DWORD size, max_size, mbr_size = 0x200; | ||||||
| 	int r, sub_type = bt; | 	int r, sub_type = boot_type; | ||||||
| 	unsigned char* buf = NULL; | 	unsigned char* buf = NULL; | ||||||
| 	FAKE_FD fake_fd = { 0 }; | 	FAKE_FD fake_fd = { 0 }; | ||||||
| 	FILE* fp = (FILE*)&fake_fd; | 	FILE* fp = (FILE*)&fake_fd; | ||||||
| 
 | 
 | ||||||
| 	if (pt == PARTITION_STYLE_GPT) | 	if (partition_type == PARTITION_STYLE_GPT) | ||||||
| 		return TRUE; | 		return TRUE; | ||||||
| 
 | 
 | ||||||
| 	fake_fd._handle = (char*)hPhysicalDrive; | 	fake_fd._handle = (char*)hPhysicalDrive; | ||||||
|  | @ -1159,7 +1159,7 @@ static BOOL WriteSBR(HANDLE hPhysicalDrive) | ||||||
| 		(DWORD)(SelectedDrive.SectorsPerTrack * SelectedDrive.SectorSize) : 1*MB; | 		(DWORD)(SelectedDrive.SectorsPerTrack * SelectedDrive.SectorSize) : 1*MB; | ||||||
| 	max_size -= mbr_size; | 	max_size -= mbr_size; | ||||||
| 	// Syslinux has precedence over Grub
 | 	// Syslinux has precedence over Grub
 | ||||||
| 	if ((bt == BT_IMAGE) && (!HAS_SYSLINUX(img_report))) { | 	if ((boot_type == BT_IMAGE) && (!HAS_SYSLINUX(img_report))) { | ||||||
| 		if (img_report.has_grub4dos) | 		if (img_report.has_grub4dos) | ||||||
| 			sub_type = BT_GRUB4DOS; | 			sub_type = BT_GRUB4DOS; | ||||||
| 		if (img_report.has_grub2) | 		if (img_report.has_grub2) | ||||||
|  | @ -1210,11 +1210,11 @@ static BOOL WriteSBR(HANDLE hPhysicalDrive) | ||||||
|  * Process the Partition Boot Record |  * Process the Partition Boot Record | ||||||
|  */ |  */ | ||||||
| static __inline const char* bt_to_name(void) { | static __inline const char* bt_to_name(void) { | ||||||
| 	switch (bt) { | 	switch (boot_type) { | ||||||
| 	case BT_FREEDOS: return "FreeDOS"; | 	case BT_FREEDOS: return "FreeDOS"; | ||||||
| 	case BT_REACTOS: return "ReactOS"; | 	case BT_REACTOS: return "ReactOS"; | ||||||
| 	default: | 	default: | ||||||
| 		return ((bt==BT_IMAGE) && HAS_KOLIBRIOS(img_report)) ? "KolibriOS" : "Standard"; | 		return ((boot_type == BT_IMAGE) && HAS_KOLIBRIOS(img_report)) ? "KolibriOS" : "Standard"; | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| static BOOL WritePBR(HANDLE hLogicalVolume) | static BOOL WritePBR(HANDLE hLogicalVolume) | ||||||
|  | @ -1235,11 +1235,11 @@ static BOOL WritePBR(HANDLE hLogicalVolume) | ||||||
| 			break; | 			break; | ||||||
| 		} | 		} | ||||||
| 		uprintf("Confirmed new volume has a FAT16 boot sector\n"); | 		uprintf("Confirmed new volume has a FAT16 boot sector\n"); | ||||||
| 		if (bt == BT_FREEDOS) { | 		if (boot_type == BT_FREEDOS) { | ||||||
| 			if (!write_fat_16_fd_br(fp, 0)) break; | 			if (!write_fat_16_fd_br(fp, 0)) break; | ||||||
| 		} else if (bt == BT_REACTOS) { | 		} else if (boot_type == BT_REACTOS) { | ||||||
| 			if (!write_fat_16_ros_br(fp, 0)) break; | 			if (!write_fat_16_ros_br(fp, 0)) break; | ||||||
| 		} else if ((bt == BT_IMAGE) && HAS_KOLIBRIOS(img_report)) { | 		} else if ((boot_type == BT_IMAGE) && HAS_KOLIBRIOS(img_report)) { | ||||||
| 			uprintf("FAT16 is not supported for KolibriOS\n"); break; | 			uprintf("FAT16 is not supported for KolibriOS\n"); break; | ||||||
| 		} else { | 		} else { | ||||||
| 			if (!write_fat_16_br(fp, 0)) break; | 			if (!write_fat_16_br(fp, 0)) break; | ||||||
|  | @ -1257,15 +1257,15 @@ static BOOL WritePBR(HANDLE hLogicalVolume) | ||||||
| 			} | 			} | ||||||
| 			uprintf("Confirmed new volume has a %s FAT32 boot sector\n", i?"secondary":"primary"); | 			uprintf("Confirmed new volume has a %s FAT32 boot sector\n", i?"secondary":"primary"); | ||||||
| 			uprintf("Setting %s FAT32 boot sector for boot...\n", i?"secondary":"primary"); | 			uprintf("Setting %s FAT32 boot sector for boot...\n", i?"secondary":"primary"); | ||||||
| 			if (bt == BT_FREEDOS) { | 			if (boot_type == BT_FREEDOS) { | ||||||
| 				if (!write_fat_32_fd_br(fp, 0)) break; | 				if (!write_fat_32_fd_br(fp, 0)) break; | ||||||
| 			} else if (bt == BT_REACTOS) { | 			} else if (boot_type == BT_REACTOS) { | ||||||
| 				if (!write_fat_32_ros_br(fp, 0)) break; | 				if (!write_fat_32_ros_br(fp, 0)) break; | ||||||
| 			} else if ((bt == BT_IMAGE) && HAS_KOLIBRIOS(img_report)) { | 			} else if ((boot_type == BT_IMAGE) && HAS_KOLIBRIOS(img_report)) { | ||||||
| 				if (!write_fat_32_kos_br(fp, 0)) break; | 				if (!write_fat_32_kos_br(fp, 0)) break; | ||||||
| 			} else if ((bt == BT_IMAGE) && HAS_BOOTMGR(img_report)) { | 			} else if ((boot_type == BT_IMAGE) && HAS_BOOTMGR(img_report)) { | ||||||
| 				if (!write_fat_32_pe_br(fp, 0)) break; | 				if (!write_fat_32_pe_br(fp, 0)) break; | ||||||
| 			} else if ((bt == BT_IMAGE) && HAS_WINPE(img_report)) { | 			} else if ((boot_type == BT_IMAGE) && HAS_WINPE(img_report)) { | ||||||
| 				if (!write_fat_32_nt_br(fp, 0)) break; | 				if (!write_fat_32_nt_br(fp, 0)) break; | ||||||
| 			} else { | 			} else { | ||||||
| 				if (!write_fat_32_br(fp, 0)) break; | 				if (!write_fat_32_br(fp, 0)) break; | ||||||
|  | @ -1887,25 +1887,25 @@ DWORD WINAPI FormatThread(void* param) | ||||||
| 	uint8_t *buffer = NULL, extra_partitions = 0; | 	uint8_t *buffer = NULL, extra_partitions = 0; | ||||||
| 	char *bb_msg, *guid_volume = NULL; | 	char *bb_msg, *guid_volume = NULL; | ||||||
| 	char drive_name[] = "?:\\"; | 	char drive_name[] = "?:\\"; | ||||||
| 	char drive_letters[27], fs_type[32]; | 	char drive_letters[27], fs_name[32]; | ||||||
| 	char logfile[MAX_PATH], *userdir; | 	char logfile[MAX_PATH], *userdir; | ||||||
| 	char efi_dst[] = "?:\\efi\\boot\\bootx64.efi"; | 	char efi_dst[] = "?:\\efi\\boot\\bootx64.efi"; | ||||||
| 	char kolibri_dst[] = "?:\\MTLD_F32"; | 	char kolibri_dst[] = "?:\\MTLD_F32"; | ||||||
| 	char grub4dos_dst[] = "?:\\grldr"; | 	char grub4dos_dst[] = "?:\\grldr"; | ||||||
| 
 | 
 | ||||||
| 	use_large_fat32 = (fs == FS_FAT32) && ((SelectedDrive.DiskSize > LARGE_FAT32_SIZE) || (force_large_fat32)); | 	use_large_fat32 = (fs_type == FS_FAT32) && ((SelectedDrive.DiskSize > LARGE_FAT32_SIZE) || (force_large_fat32)); | ||||||
| 	windows_to_go = (image_options & IMOP_WINTOGO) && (bt == BT_IMAGE) && HAS_WINTOGO(img_report) && | 	windows_to_go = (image_options & IMOP_WINTOGO) && (boot_type == BT_IMAGE) && HAS_WINTOGO(img_report) && | ||||||
| 		(ComboBox_GetCurSel(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION)) == 1); | 		(ComboBox_GetCurSel(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION)) == 1); | ||||||
| 	large_drive = (SelectedDrive.DiskSize > (1*TB)); | 	large_drive = (SelectedDrive.DiskSize > (1*TB)); | ||||||
| 	if (large_drive) | 	if (large_drive) | ||||||
| 		uprintf("Notice: Large drive detected (may produce short writes)"); | 		uprintf("Notice: Large drive detected (may produce short writes)"); | ||||||
| 	// Find out if we need to add any extra partitions
 | 	// Find out if we need to add any extra partitions
 | ||||||
| 	if ((windows_to_go) && (tt == TT_UEFI) && (pt == PARTITION_STYLE_GPT)) | 	if ((windows_to_go) && (target_type == TT_UEFI) && (partition_type == PARTITION_STYLE_GPT)) | ||||||
| 		// According to Microsoft, every GPT disk (we RUN Windows from) must have an MSR due to not having hidden sectors
 | 		// According to Microsoft, every GPT disk (we RUN Windows from) must have an MSR due to not having hidden sectors
 | ||||||
| 		// http://msdn.microsoft.com/en-us/library/windows/hardware/dn640535.aspx#gpt_faq_what_disk_require_msr
 | 		// http://msdn.microsoft.com/en-us/library/windows/hardware/dn640535.aspx#gpt_faq_what_disk_require_msr
 | ||||||
| 		extra_partitions = XP_MSR | XP_EFI; | 		extra_partitions = XP_MSR | XP_EFI; | ||||||
| 	else if ( (fs == FS_NTFS) && ((bt == BT_UEFI_NTFS) || | 	else if ( (fs_type == FS_NTFS) && ((boot_type == BT_UEFI_NTFS) || | ||||||
| 			  ((bt == BT_IMAGE) && IS_EFI_BOOTABLE(img_report) && ((tt == TT_UEFI) || (windows_to_go) || (allow_dual_uefi_bios)))) ) | 			  ((boot_type == BT_IMAGE) && IS_EFI_BOOTABLE(img_report) && ((target_type == TT_UEFI) || (windows_to_go) || (allow_dual_uefi_bios)))) ) | ||||||
| 		extra_partitions = XP_UEFI_NTFS; | 		extra_partitions = XP_UEFI_NTFS; | ||||||
| 	else if (IsChecked(IDC_OLD_BIOS_FIXES)) | 	else if (IsChecked(IDC_OLD_BIOS_FIXES)) | ||||||
| 		extra_partitions = XP_COMPAT; | 		extra_partitions = XP_COMPAT; | ||||||
|  | @ -1936,7 +1936,7 @@ DWORD WINAPI FormatThread(void* param) | ||||||
| 		// Do it in reverse so that we always end on the first volume letter
 | 		// Do it in reverse so that we always end on the first volume letter
 | ||||||
| 		for (i = (int)safe_strlen(drive_letters); i > 0; i--) { | 		for (i = (int)safe_strlen(drive_letters); i > 0; i--) { | ||||||
| 			drive_name[0] = drive_letters[i-1]; | 			drive_name[0] = drive_letters[i-1]; | ||||||
| 			if (bt == BT_IMAGE) { | 			if (boot_type == BT_IMAGE) { | ||||||
| 				// If we are using an image, check that it isn't located on the drive we are trying to format
 | 				// If we are using an image, check that it isn't located on the drive we are trying to format
 | ||||||
| 				if ((PathGetDriveNumberU(image_path) + 'A') == drive_letters[i-1]) { | 				if ((PathGetDriveNumberU(image_path) + 'A') == drive_letters[i-1]) { | ||||||
| 					uprintf("ABORTED: Cannot use an image that is located on the target drive!"); | 					uprintf("ABORTED: Cannot use an image that is located on the target drive!"); | ||||||
|  | @ -1994,7 +1994,7 @@ DWORD WINAPI FormatThread(void* param) | ||||||
| 	// Note, Microsoft's way of cleaning partitions (IOCTL_DISK_CREATE_DISK, which is what we apply
 | 	// Note, Microsoft's way of cleaning partitions (IOCTL_DISK_CREATE_DISK, which is what we apply
 | ||||||
| 	// in InitializeDisk) is *NOT ENOUGH* to reset a disk and can render it inoperable for partitioning
 | 	// in InitializeDisk) is *NOT ENOUGH* to reset a disk and can render it inoperable for partitioning
 | ||||||
| 	// or formatting under Windows. See https://github.com/pbatard/rufus/issues/759 for details.
 | 	// or formatting under Windows. See https://github.com/pbatard/rufus/issues/759 for details.
 | ||||||
| 	if ((bt != BT_IMAGE) || (img_report.is_iso && !write_as_image)) { | 	if ((boot_type != BT_IMAGE) || (img_report.is_iso && !write_as_image)) { | ||||||
| 		if ((!ClearMBRGPT(hPhysicalDrive, SelectedDrive.DiskSize, SelectedDrive.SectorSize, use_large_fat32)) || | 		if ((!ClearMBRGPT(hPhysicalDrive, SelectedDrive.DiskSize, SelectedDrive.SectorSize, use_large_fat32)) || | ||||||
| 			(!InitializeDisk(hPhysicalDrive))) { | 			(!InitializeDisk(hPhysicalDrive))) { | ||||||
| 			uprintf("Could not reset partitions"); | 			uprintf("Could not reset partitions"); | ||||||
|  | @ -2070,7 +2070,7 @@ DWORD WINAPI FormatThread(void* param) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Write an image file
 | 	// Write an image file
 | ||||||
| 	if ((bt == BT_IMAGE) && write_as_image) { | 	if ((boot_type == BT_IMAGE) && write_as_image) { | ||||||
| 		hSourceImage = CreateFileU(image_path, GENERIC_READ, FILE_SHARE_READ, NULL, | 		hSourceImage = CreateFileU(image_path, GENERIC_READ, FILE_SHARE_READ, NULL, | ||||||
| 			OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, NULL); | 			OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, NULL); | ||||||
| 		if (hSourceImage == INVALID_HANDLE_VALUE) { | 		if (hSourceImage == INVALID_HANDLE_VALUE) { | ||||||
|  | @ -2086,7 +2086,7 @@ DWORD WINAPI FormatThread(void* param) | ||||||
| 		safe_unlockclose(hLogicalVolume); | 		safe_unlockclose(hLogicalVolume); | ||||||
| 		Sleep(200); | 		Sleep(200); | ||||||
| 		WaitForLogical(DriveIndex); | 		WaitForLogical(DriveIndex); | ||||||
| 		if (GetDrivePartitionData(SelectedDrive.DeviceNumber, fs_type, sizeof(fs_type), TRUE)) { | 		if (GetDrivePartitionData(SelectedDrive.DeviceNumber, fs_name, sizeof(fs_name), TRUE)) { | ||||||
| 			guid_volume = GetLogicalName(DriveIndex, TRUE, TRUE); | 			guid_volume = GetLogicalName(DriveIndex, TRUE, TRUE); | ||||||
| 			if ((guid_volume != NULL) && (MountVolume(drive_name, guid_volume))) | 			if ((guid_volume != NULL) && (MountVolume(drive_name, guid_volume))) | ||||||
| 				uprintf("Remounted %s as %C:", guid_volume, drive_name[0]); | 				uprintf("Remounted %s as %C:", guid_volume, drive_name[0]); | ||||||
|  | @ -2097,7 +2097,7 @@ DWORD WINAPI FormatThread(void* param) | ||||||
| 	UpdateProgress(OP_ZERO_MBR, -1.0f); | 	UpdateProgress(OP_ZERO_MBR, -1.0f); | ||||||
| 	CHECK_FOR_USER_CANCEL; | 	CHECK_FOR_USER_CANCEL; | ||||||
| 
 | 
 | ||||||
| 	if (!CreatePartition(hPhysicalDrive, pt, fs, (pt==PARTITION_STYLE_MBR) && (tt==TT_UEFI), extra_partitions)) { | 	if (!CreatePartition(hPhysicalDrive, partition_type, fs_type, (partition_type==PARTITION_STYLE_MBR) && (target_type==TT_UEFI), extra_partitions)) { | ||||||
| 		FormatStatus = (LastWriteError != 0) ? LastWriteError : (ERROR_SEVERITY_ERROR|FAC(FACILITY_STORAGE)|ERROR_PARTITION_FAILURE); | 		FormatStatus = (LastWriteError != 0) ? LastWriteError : (ERROR_SEVERITY_ERROR|FAC(FACILITY_STORAGE)|ERROR_PARTITION_FAILURE); | ||||||
| 		goto out; | 		goto out; | ||||||
| 	} | 	} | ||||||
|  | @ -2131,7 +2131,7 @@ DWORD WINAPI FormatThread(void* param) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Thanks to Microsoft, we must fix the MBR AFTER the drive has been formatted
 | 	// Thanks to Microsoft, we must fix the MBR AFTER the drive has been formatted
 | ||||||
| 	if ((pt == PARTITION_STYLE_MBR) || ((bt != BT_NON_BOOTABLE) && (pt == PARTITION_STYLE_GPT))) { | 	if ((partition_type == PARTITION_STYLE_MBR) || ((boot_type != BT_NON_BOOTABLE) && (partition_type == PARTITION_STYLE_GPT))) { | ||||||
| 		PrintInfoDebug(0, MSG_228);	// "Writing master boot record..."
 | 		PrintInfoDebug(0, MSG_228);	// "Writing master boot record..."
 | ||||||
| 		if ((!WriteMBR(hPhysicalDrive)) || (!WriteSBR(hPhysicalDrive))) { | 		if ((!WriteMBR(hPhysicalDrive)) || (!WriteSBR(hPhysicalDrive))) { | ||||||
| 			if (!IS_ERROR(FormatStatus)) | 			if (!IS_ERROR(FormatStatus)) | ||||||
|  | @ -2161,7 +2161,7 @@ DWORD WINAPI FormatThread(void* param) | ||||||
| 	CHECK_FOR_USER_CANCEL; | 	CHECK_FOR_USER_CANCEL; | ||||||
| 
 | 
 | ||||||
| 	// Disable file indexing, unless it was force-enabled by the user
 | 	// Disable file indexing, unless it was force-enabled by the user
 | ||||||
| 	if ((!enable_file_indexing) && ((fs == FS_NTFS) || (fs == FS_UDF) || (fs == FS_REFS))) { | 	if ((!enable_file_indexing) && ((fs_type == FS_NTFS) || (fs_type == FS_UDF) || (fs_type == FS_REFS))) { | ||||||
| 		uprintf("Disabling file indexing..."); | 		uprintf("Disabling file indexing..."); | ||||||
| 		if (!SetFileAttributesA(guid_volume, FILE_ATTRIBUTE_NOT_CONTENT_INDEXED)) | 		if (!SetFileAttributesA(guid_volume, FILE_ATTRIBUTE_NOT_CONTENT_INDEXED)) | ||||||
| 			uprintf("Could not disable file indexing: %s", WindowsErrorString()); | 			uprintf("Could not disable file indexing: %s", WindowsErrorString()); | ||||||
|  | @ -2174,20 +2174,20 @@ DWORD WINAPI FormatThread(void* param) | ||||||
| 		uprintf("Warning: Failed to refresh label: %s", WindowsErrorString()); | 		uprintf("Warning: Failed to refresh label: %s", WindowsErrorString()); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if (bt != BT_NON_BOOTABLE) { | 	if (boot_type != BT_NON_BOOTABLE) { | ||||||
| 		if (bt == BT_UEFI_NTFS) { | 		if (boot_type == BT_UEFI_NTFS) { | ||||||
| 			// All good
 | 			// All good
 | ||||||
| 		} else if (tt == TT_UEFI) { | 		} else if (target_type == TT_UEFI) { | ||||||
| 			// For once, no need to do anything - just check our sanity
 | 			// For once, no need to do anything - just check our sanity
 | ||||||
| 			assert((bt == BT_IMAGE) && IS_EFI_BOOTABLE(img_report) && (fs <= FS_NTFS)); | 			assert((boot_type == BT_IMAGE) && IS_EFI_BOOTABLE(img_report) && (fs_type <= FS_NTFS)); | ||||||
| 			if ( (bt != BT_IMAGE) || !IS_EFI_BOOTABLE(img_report) || (fs > FS_NTFS) ) { | 			if ( (boot_type != BT_IMAGE) || !IS_EFI_BOOTABLE(img_report) || (fs_type > FS_NTFS) ) { | ||||||
| 				FormatStatus = ERROR_SEVERITY_ERROR|FAC(FACILITY_STORAGE)|ERROR_INSTALL_FAILURE; | 				FormatStatus = ERROR_SEVERITY_ERROR|FAC(FACILITY_STORAGE)|ERROR_INSTALL_FAILURE; | ||||||
| 				goto out; | 				goto out; | ||||||
| 			} | 			} | ||||||
| 		} else if ( (bt == BT_SYSLINUX_V4) || (bt == BT_SYSLINUX_V6) || | 		} else if ( (boot_type == BT_SYSLINUX_V4) || (boot_type == BT_SYSLINUX_V6) || | ||||||
| 			((bt == BT_IMAGE) && (HAS_SYSLINUX(img_report) || HAS_REACTOS(img_report)) && | 			((boot_type == BT_IMAGE) && (HAS_SYSLINUX(img_report) || HAS_REACTOS(img_report)) && | ||||||
| 				(!HAS_WINDOWS(img_report) || !allow_dual_uefi_bios)) ) { | 				(!HAS_WINDOWS(img_report) || !allow_dual_uefi_bios)) ) { | ||||||
| 			if (!InstallSyslinux(DriveIndex, drive_name[0], fs)) { | 			if (!InstallSyslinux(DriveIndex, drive_name[0], fs_type)) { | ||||||
| 				FormatStatus = ERROR_SEVERITY_ERROR|FAC(FACILITY_STORAGE)|ERROR_INSTALL_FAILURE; | 				FormatStatus = ERROR_SEVERITY_ERROR|FAC(FACILITY_STORAGE)|ERROR_INSTALL_FAILURE; | ||||||
| 				goto out; | 				goto out; | ||||||
| 			} | 			} | ||||||
|  | @ -2224,8 +2224,8 @@ DWORD WINAPI FormatThread(void* param) | ||||||
| 		goto out; | 		goto out; | ||||||
| 	CHECK_FOR_USER_CANCEL; | 	CHECK_FOR_USER_CANCEL; | ||||||
| 
 | 
 | ||||||
| 	if (bt != BT_NON_BOOTABLE) { | 	if (boot_type != BT_NON_BOOTABLE) { | ||||||
| 		if ((bt == BT_MSDOS) || (bt == BT_FREEDOS)) { | 		if ((boot_type == BT_MSDOS) || (boot_type == BT_FREEDOS)) { | ||||||
| 			UpdateProgress(OP_DOS, -1.0f); | 			UpdateProgress(OP_DOS, -1.0f); | ||||||
| 			PrintInfoDebug(0, MSG_230); | 			PrintInfoDebug(0, MSG_230); | ||||||
| 			if (!ExtractDOS(drive_name)) { | 			if (!ExtractDOS(drive_name)) { | ||||||
|  | @ -2233,14 +2233,14 @@ DWORD WINAPI FormatThread(void* param) | ||||||
| 					FormatStatus = ERROR_SEVERITY_ERROR|FAC(FACILITY_STORAGE)|ERROR_CANNOT_COPY; | 					FormatStatus = ERROR_SEVERITY_ERROR|FAC(FACILITY_STORAGE)|ERROR_CANNOT_COPY; | ||||||
| 				goto out; | 				goto out; | ||||||
| 			} | 			} | ||||||
| 		} else if (bt == BT_GRUB4DOS) { | 		} else if (boot_type == BT_GRUB4DOS) { | ||||||
| 			grub4dos_dst[0] = drive_name[0]; | 			grub4dos_dst[0] = drive_name[0]; | ||||||
| 			IGNORE_RETVAL(_chdirU(app_dir)); | 			IGNORE_RETVAL(_chdirU(app_dir)); | ||||||
| 			uprintf("Installing: %s (Grub4DOS loader) %s", grub4dos_dst, | 			uprintf("Installing: %s (Grub4DOS loader) %s", grub4dos_dst, | ||||||
| 				IsFileInDB(FILES_DIR "\\grub4dos-" GRUB4DOS_VERSION "\\grldr")?"✓":"✗"); | 				IsFileInDB(FILES_DIR "\\grub4dos-" GRUB4DOS_VERSION "\\grldr")?"✓":"✗"); | ||||||
| 			if (!CopyFileU(FILES_DIR "\\grub4dos-" GRUB4DOS_VERSION "\\grldr", grub4dos_dst, FALSE)) | 			if (!CopyFileU(FILES_DIR "\\grub4dos-" GRUB4DOS_VERSION "\\grldr", grub4dos_dst, FALSE)) | ||||||
| 				uprintf("Failed to copy file: %s", WindowsErrorString()); | 				uprintf("Failed to copy file: %s", WindowsErrorString()); | ||||||
| 		} else if ((bt == BT_IMAGE) && (image_path != NULL) && (img_report.is_iso)) { | 		} else if ((boot_type == BT_IMAGE) && (image_path != NULL) && (img_report.is_iso)) { | ||||||
| 			UpdateProgress(OP_DOS, 0.0f); | 			UpdateProgress(OP_DOS, 0.0f); | ||||||
| 			drive_name[2] = 0;	// Ensure our drive is something like 'D:'
 | 			drive_name[2] = 0;	// Ensure our drive is something like 'D:'
 | ||||||
| 			if (windows_to_go) { | 			if (windows_to_go) { | ||||||
|  | @ -2266,7 +2266,7 @@ DWORD WINAPI FormatThread(void* param) | ||||||
| 					} | 					} | ||||||
| 				} | 				} | ||||||
| 				// EFI mode selected, with no 'boot###.efi' but Windows 7 x64's 'bootmgr.efi' (bit #0)
 | 				// EFI mode selected, with no 'boot###.efi' but Windows 7 x64's 'bootmgr.efi' (bit #0)
 | ||||||
| 				if (((tt == TT_UEFI) || allow_dual_uefi_bios) && HAS_WIN7_EFI(img_report)) { | 				if (((target_type == TT_UEFI) || allow_dual_uefi_bios) && HAS_WIN7_EFI(img_report)) { | ||||||
| 					PrintInfoDebug(0, MSG_232); | 					PrintInfoDebug(0, MSG_232); | ||||||
| 					img_report.wininst_path[0][0] = drive_name[0]; | 					img_report.wininst_path[0][0] = drive_name[0]; | ||||||
| 					efi_dst[0] = drive_name[0]; | 					efi_dst[0] = drive_name[0]; | ||||||
|  | @ -2282,7 +2282,7 @@ DWORD WINAPI FormatThread(void* param) | ||||||
| 						} | 						} | ||||||
| 					} | 					} | ||||||
| 				} | 				} | ||||||
| 				if ( (tt == TT_BIOS) && HAS_WINPE(img_report) ) { | 				if ( (target_type == TT_BIOS) && HAS_WINPE(img_report) ) { | ||||||
| 					// Apply WinPe fixup
 | 					// Apply WinPe fixup
 | ||||||
| 					if (!SetupWinPE(drive_name[0])) | 					if (!SetupWinPE(drive_name[0])) | ||||||
| 						FormatStatus = ERROR_SEVERITY_ERROR|FAC(FACILITY_STORAGE)|APPERR(ERROR_CANT_PATCH); | 						FormatStatus = ERROR_SEVERITY_ERROR|FAC(FACILITY_STORAGE)|APPERR(ERROR_CANT_PATCH); | ||||||
|  | @ -2296,7 +2296,7 @@ DWORD WINAPI FormatThread(void* param) | ||||||
| 		// Issue another complete remount before we exit, to ensure we're clean
 | 		// Issue another complete remount before we exit, to ensure we're clean
 | ||||||
| 		RemountVolume(drive_name); | 		RemountVolume(drive_name); | ||||||
| 		// NTFS fixup (WinPE/AIK images don't seem to boot without an extra checkdisk)
 | 		// NTFS fixup (WinPE/AIK images don't seem to boot without an extra checkdisk)
 | ||||||
| 		if ((bt == BT_IMAGE) && (img_report.is_iso) && (fs == FS_NTFS)) { | 		if ((boot_type == BT_IMAGE) && (img_report.is_iso) && (fs_type == FS_NTFS)) { | ||||||
| 			// Try to ensure that all messages from Checkdisk will be in English
 | 			// Try to ensure that all messages from Checkdisk will be in English
 | ||||||
| 			if (PRIMARYLANGID(GetThreadUILanguage()) != LANG_ENGLISH) { | 			if (PRIMARYLANGID(GetThreadUILanguage()) != LANG_ENGLISH) { | ||||||
| 				SetThreadUILanguage(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)); | 				SetThreadUILanguage(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)); | ||||||
|  |  | ||||||
							
								
								
									
										152
									
								
								src/rufus.c
									
										
									
									
									
								
							
							
						
						
									
										152
									
								
								src/rufus.c
									
										
									
									
									
								
							|  | @ -112,7 +112,7 @@ BOOL write_as_image = FALSE, installed_uefi_ntfs = FALSE, enable_fido = FALSE; | ||||||
| uint64_t persistence_size = 0; | uint64_t persistence_size = 0; | ||||||
| float fScale = 1.0f; | float fScale = 1.0f; | ||||||
| int dialog_showing = 0, selection_default = BT_IMAGE, windows_to_go_selection = 0, persistence_unit_selection = -1; | int dialog_showing = 0, selection_default = BT_IMAGE, windows_to_go_selection = 0, persistence_unit_selection = -1; | ||||||
| int default_fs, fs, bt, pt, tt; // file system, boot type, partition type, target type
 | int default_fs, fs_type, boot_type, partition_type, target_type; // file system, boot type, partition type, target type
 | ||||||
| int force_update = 0; | int force_update = 0; | ||||||
| char szFolderPath[MAX_PATH], app_dir[MAX_PATH], system_dir[MAX_PATH], temp_dir[MAX_PATH], sysnative_dir[MAX_PATH]; | char szFolderPath[MAX_PATH], app_dir[MAX_PATH], system_dir[MAX_PATH], temp_dir[MAX_PATH], sysnative_dir[MAX_PATH]; | ||||||
| char embedded_sl_version_str[2][12] = { "?.??", "?.??" }; | char embedded_sl_version_str[2][12] = { "?.??", "?.??" }; | ||||||
|  | @ -165,7 +165,7 @@ static void SetAllowedFileSystems(void) | ||||||
| 		// Don't allow anything besides NTFS if the image has a >4GB file
 | 		// Don't allow anything besides NTFS if the image has a >4GB file
 | ||||||
| 		if ((image_path != NULL) && (img_report.has_4GB_file)) | 		if ((image_path != NULL) && (img_report.has_4GB_file)) | ||||||
| 			break; | 			break; | ||||||
| 		if (!HAS_WINDOWS(img_report) || (tt != TT_BIOS) || allow_dual_uefi_bios) { | 		if (!HAS_WINDOWS(img_report) || (target_type != TT_BIOS) || allow_dual_uefi_bios) { | ||||||
| 			if (!HAS_WINTOGO(img_report) || (ComboBox_GetCurSel(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION)) != 1)) { | 			if (!HAS_WINTOGO(img_report) || (ComboBox_GetCurSel(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION)) != 1)) { | ||||||
| 				allowed_filesystem[FS_FAT16] = TRUE; | 				allowed_filesystem[FS_FAT16] = TRUE; | ||||||
| 				allowed_filesystem[FS_FAT32] = TRUE; | 				allowed_filesystem[FS_FAT32] = TRUE; | ||||||
|  | @ -238,13 +238,13 @@ static void SetPartitionSchemeAndTargetSystem(BOOL only_target) | ||||||
| 		IGNORE_RETVAL(ComboBox_ResetContent(hPartitionScheme)); | 		IGNORE_RETVAL(ComboBox_ResetContent(hPartitionScheme)); | ||||||
| 	IGNORE_RETVAL(ComboBox_ResetContent(hTargetSystem)); | 	IGNORE_RETVAL(ComboBox_ResetContent(hTargetSystem)); | ||||||
| 
 | 
 | ||||||
| 	bt = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); | 	boot_type = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); | ||||||
| 	is_windows_to_go_selected = (bt == BT_IMAGE) && (image_path != NULL) && HAS_WINTOGO(img_report) && | 	is_windows_to_go_selected = (boot_type == BT_IMAGE) && (image_path != NULL) && HAS_WINTOGO(img_report) && | ||||||
| 		(ComboBox_GetCurSel(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION)) == 1); | 		(ComboBox_GetCurSel(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION)) == 1); | ||||||
| 	// If no device is selected, don't populate anything
 | 	// If no device is selected, don't populate anything
 | ||||||
| 	if (ComboBox_GetCurSel(hDeviceList) < 0) | 	if (ComboBox_GetCurSel(hDeviceList) < 0) | ||||||
| 		return; | 		return; | ||||||
| 	switch (bt) { | 	switch (boot_type) { | ||||||
| 	case BT_NON_BOOTABLE: | 	case BT_NON_BOOTABLE: | ||||||
| 		allowed_partition_scheme[PARTITION_STYLE_SFD] = TRUE; | 		allowed_partition_scheme[PARTITION_STYLE_SFD] = TRUE; | ||||||
| 		allowed_target_system[0] = FALSE; | 		allowed_target_system[0] = FALSE; | ||||||
|  | @ -302,11 +302,11 @@ static void SetPartitionSchemeAndTargetSystem(BOOL only_target) | ||||||
| 			IGNORE_RETVAL(ComboBox_SetItemData(hPartitionScheme, | 			IGNORE_RETVAL(ComboBox_SetItemData(hPartitionScheme, | ||||||
| 				ComboBox_AddStringU(hPartitionScheme, sfd_name), PARTITION_STYLE_SFD)); | 				ComboBox_AddStringU(hPartitionScheme, sfd_name), PARTITION_STYLE_SFD)); | ||||||
| 		// Override the partition scheme according to the current 
 | 		// Override the partition scheme according to the current 
 | ||||||
| 		if (bt == BT_NON_BOOTABLE) | 		if (boot_type == BT_NON_BOOTABLE) | ||||||
| 			preferred_pt = (selected_pt >= 0) ? selected_pt : PARTITION_STYLE_MBR; | 			preferred_pt = (selected_pt >= 0) ? selected_pt : PARTITION_STYLE_MBR; | ||||||
| 		else if (bt == BT_UEFI_NTFS) | 		else if (boot_type == BT_UEFI_NTFS) | ||||||
| 			preferred_pt = (selected_pt >= 0) ? selected_pt : PARTITION_STYLE_GPT; | 			preferred_pt = (selected_pt >= 0) ? selected_pt : PARTITION_STYLE_GPT; | ||||||
| 		else if ((bt == BT_IMAGE) && (image_path != NULL) && (img_report.is_iso)) { | 		else if ((boot_type == BT_IMAGE) && (image_path != NULL) && (img_report.is_iso)) { | ||||||
| 			if (HAS_WINDOWS(img_report) && img_report.has_efi) | 			if (HAS_WINDOWS(img_report) && img_report.has_efi) | ||||||
| 				preferred_pt = allow_dual_uefi_bios? PARTITION_STYLE_MBR : | 				preferred_pt = allow_dual_uefi_bios? PARTITION_STYLE_MBR : | ||||||
| 					((selected_pt >= 0) ? selected_pt : PARTITION_STYLE_GPT); | 					((selected_pt >= 0) ? selected_pt : PARTITION_STYLE_GPT); | ||||||
|  | @ -314,23 +314,23 @@ static void SetPartitionSchemeAndTargetSystem(BOOL only_target) | ||||||
| 				preferred_pt = (selected_pt >= 0) ? selected_pt : PARTITION_STYLE_MBR; | 				preferred_pt = (selected_pt >= 0) ? selected_pt : PARTITION_STYLE_MBR; | ||||||
| 		} | 		} | ||||||
| 		SetComboEntry(hPartitionScheme, preferred_pt); | 		SetComboEntry(hPartitionScheme, preferred_pt); | ||||||
| 		pt = (int)ComboBox_GetItemData(hPartitionScheme, ComboBox_GetCurSel(hPartitionScheme)); | 		partition_type = (int)ComboBox_GetItemData(hPartitionScheme, ComboBox_GetCurSel(hPartitionScheme)); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	has_uefi_csm = FALSE; | 	has_uefi_csm = FALSE; | ||||||
| 	if (allowed_target_system[0] && (pt != PARTITION_STYLE_GPT)) { | 	if (allowed_target_system[0] && (partition_type != PARTITION_STYLE_GPT)) { | ||||||
| 		IGNORE_RETVAL(ComboBox_SetItemData(hTargetSystem, | 		IGNORE_RETVAL(ComboBox_SetItemData(hTargetSystem, | ||||||
| 			ComboBox_AddStringU(hTargetSystem, lmprintf(MSG_031)), TT_BIOS)); | 			ComboBox_AddStringU(hTargetSystem, lmprintf(MSG_031)), TT_BIOS)); | ||||||
| 		has_uefi_csm = TRUE; | 		has_uefi_csm = TRUE; | ||||||
| 	} | 	} | ||||||
| 	if (allowed_target_system[1] && !((pt == PARTITION_STYLE_MBR) && (bt == BT_IMAGE) && IS_BIOS_BOOTABLE(img_report) && IS_EFI_BOOTABLE(img_report)) ) | 	if (allowed_target_system[1] && !((partition_type == PARTITION_STYLE_MBR) && (boot_type == BT_IMAGE) && IS_BIOS_BOOTABLE(img_report) && IS_EFI_BOOTABLE(img_report)) ) | ||||||
| 		IGNORE_RETVAL(ComboBox_SetItemData(hTargetSystem, | 		IGNORE_RETVAL(ComboBox_SetItemData(hTargetSystem, | ||||||
| 			ComboBox_AddStringU(hTargetSystem, lmprintf(MSG_032)), TT_UEFI)); | 			ComboBox_AddStringU(hTargetSystem, lmprintf(MSG_032)), TT_UEFI)); | ||||||
| 	if (allowed_target_system[2] && ((pt != PARTITION_STYLE_GPT) || (bt == BT_NON_BOOTABLE))) | 	if (allowed_target_system[2] && ((partition_type != PARTITION_STYLE_GPT) || (boot_type == BT_NON_BOOTABLE))) | ||||||
| 		IGNORE_RETVAL(ComboBox_SetItemData(hTargetSystem, | 		IGNORE_RETVAL(ComboBox_SetItemData(hTargetSystem, | ||||||
| 			ComboBox_AddStringU(hTargetSystem, lmprintf(MSG_033)), TT_BIOS)); | 			ComboBox_AddStringU(hTargetSystem, lmprintf(MSG_033)), TT_BIOS)); | ||||||
| 	IGNORE_RETVAL(ComboBox_SetCurSel(hTargetSystem, 0)); | 	IGNORE_RETVAL(ComboBox_SetCurSel(hTargetSystem, 0)); | ||||||
| 	tt = (int)ComboBox_GetItemData(hTargetSystem, ComboBox_GetCurSel(hTargetSystem)); | 	target_type = (int)ComboBox_GetItemData(hTargetSystem, ComboBox_GetCurSel(hTargetSystem)); | ||||||
| 	// Can't update a tooltip from a thread, so we send a message instead
 | 	// Can't update a tooltip from a thread, so we send a message instead
 | ||||||
| 	SendMessage(hMainDialog, UM_UPDATE_CSM_TOOLTIP, 0, 0); | 	SendMessage(hMainDialog, UM_UPDATE_CSM_TOOLTIP, 0, 0); | ||||||
| } | } | ||||||
|  | @ -371,7 +371,7 @@ static BOOL SetClusterSizes(int FSType) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Populate the File System and Cluster Size dropdowns
 | // Populate the File System and Cluster Size dropdowns
 | ||||||
| static BOOL SetFileSystemAndClusterSize(char* fs_type) | static BOOL SetFileSystemAndClusterSize(char* fs_name) | ||||||
| { | { | ||||||
| 	int fs_index; | 	int fs_index; | ||||||
| 	LONGLONG i; | 	LONGLONG i; | ||||||
|  | @ -525,9 +525,9 @@ static BOOL SetFileSystemAndClusterSize(char* fs_type) | ||||||
| 
 | 
 | ||||||
| 	// re-select existing FS if it's one we know
 | 	// re-select existing FS if it's one we know
 | ||||||
| 	SelectedDrive.FSType = FS_UNKNOWN; | 	SelectedDrive.FSType = FS_UNKNOWN; | ||||||
| 	if (safe_strlen(fs_type) != 0) { | 	if (safe_strlen(fs_name) != 0) { | ||||||
| 		for (SelectedDrive.FSType = FS_MAX - 1; SelectedDrive.FSType >= 0; SelectedDrive.FSType--) { | 		for (SelectedDrive.FSType = FS_MAX - 1; SelectedDrive.FSType >= 0; SelectedDrive.FSType--) { | ||||||
| 			if (safe_strcmp(fs_type, FileSystemLabel[SelectedDrive.FSType]) == 0) { | 			if (safe_strcmp(fs_name, FileSystemLabel[SelectedDrive.FSType]) == 0) { | ||||||
| 				break; | 				break; | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
|  | @ -555,7 +555,7 @@ static void SetFSFromISO(void) | ||||||
| { | { | ||||||
| 	int i, fs_tmp, preferred_fs = FS_UNKNOWN; | 	int i, fs_tmp, preferred_fs = FS_UNKNOWN; | ||||||
| 	uint32_t fs_mask = FS_FAT32 | FS_NTFS; | 	uint32_t fs_mask = FS_FAT32 | FS_NTFS; | ||||||
| 	BOOL windows_to_go = (image_options & IMOP_WINTOGO) && (bt == BT_IMAGE) && HAS_WINTOGO(img_report) && | 	BOOL windows_to_go = (image_options & IMOP_WINTOGO) && (boot_type == BT_IMAGE) && HAS_WINTOGO(img_report) && | ||||||
| 		(ComboBox_GetCurSel(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION)) == 1); | 		(ComboBox_GetCurSel(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION)) == 1); | ||||||
| 
 | 
 | ||||||
| 	if (image_path == NULL) | 	if (image_path == NULL) | ||||||
|  | @ -577,7 +577,7 @@ static void SetFSFromISO(void) | ||||||
| 	if (preferred_fs == FS_UNKNOWN) { | 	if (preferred_fs == FS_UNKNOWN) { | ||||||
| 		// Syslinux and EFI have precedence over bootmgr (unless the user selected BIOS as target type)
 | 		// Syslinux and EFI have precedence over bootmgr (unless the user selected BIOS as target type)
 | ||||||
| 		if ((HAS_SYSLINUX(img_report)) || (HAS_REACTOS(img_report)) || HAS_KOLIBRIOS(img_report) || | 		if ((HAS_SYSLINUX(img_report)) || (HAS_REACTOS(img_report)) || HAS_KOLIBRIOS(img_report) || | ||||||
| 			(IS_EFI_BOOTABLE(img_report) && (tt == TT_UEFI) && (!windows_to_go))) { | 			(IS_EFI_BOOTABLE(img_report) && (target_type == TT_UEFI) && (!windows_to_go))) { | ||||||
| 			if (fs_mask & (1 << FS_FAT32)) { | 			if (fs_mask & (1 << FS_FAT32)) { | ||||||
| 				preferred_fs = FS_FAT32; | 				preferred_fs = FS_FAT32; | ||||||
| 			} else if ((fs_mask & (1 << FS_FAT16)) && !HAS_KOLIBRIOS(img_report)) { | 			} else if ((fs_mask & (1 << FS_FAT16)) && !HAS_KOLIBRIOS(img_report)) { | ||||||
|  | @ -614,7 +614,7 @@ static void SetMBRProps(void) | ||||||
| { | { | ||||||
| 	BOOL needs_masquerading = HAS_WINPE(img_report) && (!img_report.uses_minint); | 	BOOL needs_masquerading = HAS_WINPE(img_report) && (!img_report.uses_minint); | ||||||
| 
 | 
 | ||||||
| 	if ((!mbr_selected_by_user) && ((image_path == NULL) || (bt != BT_IMAGE) || (fs != FS_NTFS) || HAS_GRUB(img_report) || | 	if ((!mbr_selected_by_user) && ((image_path == NULL) || (boot_type != BT_IMAGE) || (fs_type != FS_NTFS) || HAS_GRUB(img_report) || | ||||||
| 		((image_options & IMOP_WINTOGO) && (ComboBox_GetCurSel(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION)) == 1)) )) { | 		((image_options & IMOP_WINTOGO) && (ComboBox_GetCurSel(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION)) == 1)) )) { | ||||||
| 		CheckDlgButton(hMainDialog, IDC_RUFUS_MBR, BST_UNCHECKED); | 		CheckDlgButton(hMainDialog, IDC_RUFUS_MBR, BST_UNCHECKED); | ||||||
| 		IGNORE_RETVAL(ComboBox_SetCurSel(hDiskID, 0)); | 		IGNORE_RETVAL(ComboBox_SetCurSel(hDiskID, 0)); | ||||||
|  | @ -634,7 +634,7 @@ static void SetProposedLabel(int ComboIndex) | ||||||
| 	app_changed_label = TRUE; | 	app_changed_label = TRUE; | ||||||
| 	// If bootable ISO creation is selected, and we have an ISO selected with a valid name, use that
 | 	// If bootable ISO creation is selected, and we have an ISO selected with a valid name, use that
 | ||||||
| 	// Also some distros (eg. Arch) require the USB to have the same label as the ISO
 | 	// Also some distros (eg. Arch) require the USB to have the same label as the ISO
 | ||||||
| 	if ((bt == BT_IMAGE) && (image_path != NULL) && (img_report.label[0] != 0)) { | 	if ((boot_type == BT_IMAGE) && (image_path != NULL) && (img_report.label[0] != 0)) { | ||||||
| 		SetWindowTextU(hLabel, img_report.label); | 		SetWindowTextU(hLabel, img_report.label); | ||||||
| 		// If we force the ISO label, we need to reset the user_changed_label flag
 | 		// If we force the ISO label, we need to reset the user_changed_label flag
 | ||||||
| 		user_changed_label = FALSE; | 		user_changed_label = FALSE; | ||||||
|  | @ -665,21 +665,21 @@ static void SetProposedLabel(int ComboIndex) | ||||||
| // This handles the enabling/disabling of the "Add fixes for old BIOSes" and "Use Rufus MBR" controls
 | // This handles the enabling/disabling of the "Add fixes for old BIOSes" and "Use Rufus MBR" controls
 | ||||||
| static void EnableMBRBootOptions(BOOL enable, BOOL remove_checkboxes) | static void EnableMBRBootOptions(BOOL enable, BOOL remove_checkboxes) | ||||||
| { | { | ||||||
| 	BOOL actual_enable_mbr = (bt > BT_IMAGE) ? FALSE: enable; | 	BOOL actual_enable_mbr = (boot_type > BT_IMAGE) ? FALSE: enable; | ||||||
| 	BOOL actual_enable_fix = enable; | 	BOOL actual_enable_fix = enable; | ||||||
| 	static UINT uXPartChecked = BST_UNCHECKED; | 	static UINT uXPartChecked = BST_UNCHECKED; | ||||||
| 
 | 
 | ||||||
| 	if ((pt != PARTITION_STYLE_MBR) || (tt != TT_BIOS) || ((bt == BT_IMAGE) && !IS_BIOS_BOOTABLE(img_report))) { | 	if ((partition_type != PARTITION_STYLE_MBR) || (target_type != TT_BIOS) || ((boot_type == BT_IMAGE) && !IS_BIOS_BOOTABLE(img_report))) { | ||||||
| 		// These options cannot apply if we aren't using MBR+BIOS, or are using an image that isn't BIOS bootable
 | 		// These options cannot apply if we aren't using MBR+BIOS, or are using an image that isn't BIOS bootable
 | ||||||
| 		actual_enable_mbr = FALSE; | 		actual_enable_mbr = FALSE; | ||||||
| 		actual_enable_fix = FALSE; | 		actual_enable_fix = FALSE; | ||||||
| 	} else { | 	} else { | ||||||
| 		// If we are using an image, the Rufus MBR only applies if it's for Windows
 | 		// If we are using an image, the Rufus MBR only applies if it's for Windows
 | ||||||
| 		if ((bt == BT_IMAGE) && !HAS_WINPE(img_report) && !HAS_BOOTMGR(img_report)) { | 		if ((boot_type == BT_IMAGE) && !HAS_WINPE(img_report) && !HAS_BOOTMGR(img_report)) { | ||||||
| 			actual_enable_mbr = FALSE; | 			actual_enable_mbr = FALSE; | ||||||
| 			mbr_selected_by_user = FALSE; | 			mbr_selected_by_user = FALSE; | ||||||
| 		} | 		} | ||||||
| 		if (bt == BT_NON_BOOTABLE) { | 		if (boot_type == BT_NON_BOOTABLE) { | ||||||
| 			actual_enable_fix = FALSE; | 			actual_enable_fix = FALSE; | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | @ -712,7 +712,7 @@ static void EnableQuickFormat(BOOL enable) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Disable/restore the quick format control depending on large FAT32 or ReFS
 | 	// Disable/restore the quick format control depending on large FAT32 or ReFS
 | ||||||
| 	if (((fs == FS_FAT32) && ((SelectedDrive.DiskSize > LARGE_FAT32_SIZE) || (force_large_fat32))) || (fs == FS_REFS)) { | 	if (((fs_type == FS_FAT32) && ((SelectedDrive.DiskSize > LARGE_FAT32_SIZE) || (force_large_fat32))) || (fs_type == FS_REFS)) { | ||||||
| 		enable = FALSE; | 		enable = FALSE; | ||||||
| 		CheckDlgButton(hMainDialog, IDC_QUICK_FORMAT, BST_CHECKED); | 		CheckDlgButton(hMainDialog, IDC_QUICK_FORMAT, BST_CHECKED); | ||||||
| 	} | 	} | ||||||
|  | @ -734,11 +734,11 @@ static void EnableBootOptions(BOOL enable, BOOL remove_checkboxes) | ||||||
| 	if (ComboBox_GetCurSel(hDeviceList) < 0) | 	if (ComboBox_GetCurSel(hDeviceList) < 0) | ||||||
| 		actual_enable = FALSE; | 		actual_enable = FALSE; | ||||||
| 	// If boot selection is set to image, but no image is currently selected, don't enable anything
 | 	// If boot selection is set to image, but no image is currently selected, don't enable anything
 | ||||||
| 	if ((bt == BT_IMAGE) && (image_path == NULL)) | 	if ((boot_type == BT_IMAGE) && (image_path == NULL)) | ||||||
| 		actual_enable = FALSE; | 		actual_enable = FALSE; | ||||||
| 	actual_enable_bb = actual_enable; | 	actual_enable_bb = actual_enable; | ||||||
| 	// If we are dealing with a pure DD image, remove all options except Bad Blocks check
 | 	// If we are dealing with a pure DD image, remove all options except Bad Blocks check
 | ||||||
| 	if ((bt == BT_IMAGE) && (img_report.is_bootable_img) && (!img_report.is_iso)) | 	if ((boot_type == BT_IMAGE) && (img_report.is_bootable_img) && (!img_report.is_iso)) | ||||||
| 		actual_enable = FALSE; | 		actual_enable = FALSE; | ||||||
| 
 | 
 | ||||||
| 	EnableWindow(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION), actual_enable); | 	EnableWindow(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION), actual_enable); | ||||||
|  | @ -773,7 +773,7 @@ static void EnableControls(BOOL bEnable) | ||||||
| 	SendMessage(hMultiToolbar, TB_ENABLEBUTTON, (WPARAM)IDC_SETTINGS, (LPARAM)bEnable); | 	SendMessage(hMultiToolbar, TB_ENABLEBUTTON, (WPARAM)IDC_SETTINGS, (LPARAM)bEnable); | ||||||
| 
 | 
 | ||||||
| 	// Checksum button is enabled if an image has been selected
 | 	// Checksum button is enabled if an image has been selected
 | ||||||
| 	EnableWindow(hHashToolbar, bEnable && (bt == BT_IMAGE) && (image_path != NULL)); | 	EnableWindow(hHashToolbar, bEnable && (boot_type == BT_IMAGE) && (image_path != NULL)); | ||||||
| 
 | 
 | ||||||
| 	// Toggle CLOSE/CANCEL
 | 	// Toggle CLOSE/CANCEL
 | ||||||
| 	SetDlgItemTextU(hMainDialog, IDCANCEL, bEnable ? uppercase_close : uppercase_cancel); | 	SetDlgItemTextU(hMainDialog, IDCANCEL, bEnable ? uppercase_close : uppercase_cancel); | ||||||
|  | @ -784,12 +784,12 @@ static void EnableControls(BOOL bEnable) | ||||||
| 	EnableWindow(hSaveToolbar, bEnable); | 	EnableWindow(hSaveToolbar, bEnable); | ||||||
| 
 | 
 | ||||||
| 	// Enable or disable the Start button and the other boot options
 | 	// Enable or disable the Start button and the other boot options
 | ||||||
| 	bEnable = ((bt == BT_IMAGE) && (image_path == NULL)) ? FALSE : bEnable; | 	bEnable = ((boot_type == BT_IMAGE) && (image_path == NULL)) ? FALSE : bEnable; | ||||||
| 	EnableWindow(hStart, bEnable); | 	EnableWindow(hStart, bEnable); | ||||||
| 	EnableBootOptions(bEnable, FALSE); | 	EnableBootOptions(bEnable, FALSE); | ||||||
| 
 | 
 | ||||||
| 	// Finally, only enable the half-size dropdowns if we aren't dealing with a pure DD image
 | 	// Finally, only enable the half-size dropdowns if we aren't dealing with a pure DD image
 | ||||||
| 	bEnable = ((bt == BT_IMAGE) && (image_path != NULL) && (!img_report.is_iso)) ? FALSE : bEnable; | 	bEnable = ((boot_type == BT_IMAGE) && (image_path != NULL) && (!img_report.is_iso)) ? FALSE : bEnable; | ||||||
| 	EnableWindow(hPartitionScheme, bEnable); | 	EnableWindow(hPartitionScheme, bEnable); | ||||||
| 	EnableWindow(hTargetSystem, bEnable); | 	EnableWindow(hTargetSystem, bEnable); | ||||||
| 	EnableWindow(GetDlgItem(hMainDialog, IDS_CSM_HELP_TXT), bEnable); | 	EnableWindow(GetDlgItem(hMainDialog, IDS_CSM_HELP_TXT), bEnable); | ||||||
|  | @ -803,7 +803,7 @@ static BOOL PopulateProperties(void) | ||||||
| { | { | ||||||
| 	char* device_tooltip; | 	char* device_tooltip; | ||||||
| 	int device_index = ComboBox_GetCurSel(hDeviceList); | 	int device_index = ComboBox_GetCurSel(hDeviceList); | ||||||
| 	char fs_type[32]; | 	char fs_name[32]; | ||||||
| 
 | 
 | ||||||
| 	memset(&SelectedDrive, 0, sizeof(SelectedDrive)); | 	memset(&SelectedDrive, 0, sizeof(SelectedDrive)); | ||||||
| 	EnableWindow(hStart, FALSE); | 	EnableWindow(hStart, FALSE); | ||||||
|  | @ -815,10 +815,10 @@ static BOOL PopulateProperties(void) | ||||||
| 	// Get data from the currently selected drive
 | 	// Get data from the currently selected drive
 | ||||||
| 	SelectedDrive.DeviceNumber = (DWORD)ComboBox_GetItemData(hDeviceList, device_index); | 	SelectedDrive.DeviceNumber = (DWORD)ComboBox_GetItemData(hDeviceList, device_index); | ||||||
| 	// This fills the SelectedDrive properties
 | 	// This fills the SelectedDrive properties
 | ||||||
| 	GetDrivePartitionData(SelectedDrive.DeviceNumber, fs_type, sizeof(fs_type), FALSE); | 	GetDrivePartitionData(SelectedDrive.DeviceNumber, fs_name, sizeof(fs_name), FALSE); | ||||||
| 	SetPartitionSchemeAndTargetSystem(FALSE); | 	SetPartitionSchemeAndTargetSystem(FALSE); | ||||||
| 	// Attempt to reselect the last file system explicitly set by the user
 | 	// Attempt to reselect the last file system explicitly set by the user
 | ||||||
| 	if (!SetFileSystemAndClusterSize((selected_fs == FS_UNKNOWN) ? fs_type : NULL)) { | 	if (!SetFileSystemAndClusterSize((selected_fs == FS_UNKNOWN) ? fs_name : NULL)) { | ||||||
| 		SetProposedLabel(-1); | 		SetProposedLabel(-1); | ||||||
| 		uprintf("No file system is selectable for this drive\n"); | 		uprintf("No file system is selectable for this drive\n"); | ||||||
| 		return FALSE; | 		return FALSE; | ||||||
|  | @ -1032,7 +1032,7 @@ static void UpdateImage(void) | ||||||
| 		(image_path == NULL) ? lmprintf(MSG_281, lmprintf(MSG_280)) : short_image_path); | 		(image_path == NULL) ? lmprintf(MSG_281, lmprintf(MSG_280)) : short_image_path); | ||||||
| 	ComboBox_SetItemData(hBootType, image_index, BT_IMAGE); | 	ComboBox_SetItemData(hBootType, image_index, BT_IMAGE); | ||||||
| 	IGNORE_RETVAL(ComboBox_SetCurSel(hBootType, image_index)); | 	IGNORE_RETVAL(ComboBox_SetCurSel(hBootType, image_index)); | ||||||
| 	bt = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); | 	boot_type = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); | ||||||
| 	SetBootTypeDropdownWidth(); | 	SetBootTypeDropdownWidth(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -1152,13 +1152,13 @@ static DWORD WINAPI BootCheckThread(LPVOID param) | ||||||
| 	if (ComboBox_GetCurSel(hDeviceList) == CB_ERR) | 	if (ComboBox_GetCurSel(hDeviceList) == CB_ERR) | ||||||
| 		goto out; | 		goto out; | ||||||
| 
 | 
 | ||||||
| 	if ((zero_drive) || (bt == BT_NON_BOOTABLE)) { | 	if ((zero_drive) || (boot_type == BT_NON_BOOTABLE)) { | ||||||
| 		// Nothing to check
 | 		// Nothing to check
 | ||||||
| 		ret = 0; | 		ret = 0; | ||||||
| 		goto out; | 		goto out; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if (bt == BT_IMAGE) { | 	if (boot_type == BT_IMAGE) { | ||||||
| 		assert(image_path != NULL); | 		assert(image_path != NULL); | ||||||
| 		if (image_path == NULL) | 		if (image_path == NULL) | ||||||
| 			goto out; | 			goto out; | ||||||
|  | @ -1173,13 +1173,13 @@ static DWORD WINAPI BootCheckThread(LPVOID param) | ||||||
| 			goto out; | 			goto out; | ||||||
| 		} | 		} | ||||||
| 		if ((image_options & IMOP_WINTOGO) && (ComboBox_GetCurSel(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION)) == 1)) { | 		if ((image_options & IMOP_WINTOGO) && (ComboBox_GetCurSel(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION)) == 1)) { | ||||||
| 			if (fs != FS_NTFS) { | 			if (fs_type != FS_NTFS) { | ||||||
| 				// Windows To Go only works for NTFS
 | 				// Windows To Go only works for NTFS
 | ||||||
| 				MessageBoxExU(hMainDialog, lmprintf(MSG_097, "Windows To Go"), lmprintf(MSG_092), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); | 				MessageBoxExU(hMainDialog, lmprintf(MSG_097, "Windows To Go"), lmprintf(MSG_092), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); | ||||||
| 				goto out; | 				goto out; | ||||||
| 			} | 			} | ||||||
| 			if (SelectedDrive.MediaType != FixedMedia) { | 			if (SelectedDrive.MediaType != FixedMedia) { | ||||||
| 				if ((tt == TT_UEFI) && (pt == PARTITION_STYLE_GPT) && (nWindowsBuildNumber < 15000)) { | 				if ((target_type == TT_UEFI) && (partition_type == PARTITION_STYLE_GPT) && (nWindowsBuildNumber < 15000)) { | ||||||
| 					// Up to Windows 10 Creators Update, we were screwed, since we need access to 2 partitions at the same time.
 | 					// Up to Windows 10 Creators Update, we were screwed, since we need access to 2 partitions at the same time.
 | ||||||
| 					// Thankfully, the newer Windows allow mounting multiple partitions on the same REMOVABLE drive.
 | 					// Thankfully, the newer Windows allow mounting multiple partitions on the same REMOVABLE drive.
 | ||||||
| 					MessageBoxExU(hMainDialog, lmprintf(MSG_198), lmprintf(MSG_190), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); | 					MessageBoxExU(hMainDialog, lmprintf(MSG_198), lmprintf(MSG_190), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); | ||||||
|  | @ -1196,7 +1196,7 @@ static DWORD WINAPI BootCheckThread(LPVOID param) | ||||||
| 			default: | 			default: | ||||||
| 				break; | 				break; | ||||||
| 			} | 			} | ||||||
| 		} else if (tt == TT_UEFI) { | 		} else if (target_type == TT_UEFI) { | ||||||
| 			if (!IS_EFI_BOOTABLE(img_report)) { | 			if (!IS_EFI_BOOTABLE(img_report)) { | ||||||
| 				// Unsupported ISO
 | 				// Unsupported ISO
 | ||||||
| 				MessageBoxExU(hMainDialog, lmprintf(MSG_091), lmprintf(MSG_090), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); | 				MessageBoxExU(hMainDialog, lmprintf(MSG_091), lmprintf(MSG_090), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); | ||||||
|  | @ -1208,30 +1208,30 @@ static DWORD WINAPI BootCheckThread(LPVOID param) | ||||||
| 					ShellExecuteA(hMainDialog, "open", SEVENZIP_URL, NULL, NULL, SW_SHOWNORMAL); | 					ShellExecuteA(hMainDialog, "open", SEVENZIP_URL, NULL, NULL, SW_SHOWNORMAL); | ||||||
| 				goto out; | 				goto out; | ||||||
| 			} | 			} | ||||||
| 		} else if ( ((fs == FS_NTFS) && !HAS_WINDOWS(img_report) && !HAS_GRUB(img_report) &&  | 		} else if ( ((fs_type == FS_NTFS) && !HAS_WINDOWS(img_report) && !HAS_GRUB(img_report) &&  | ||||||
| 					 (!HAS_SYSLINUX(img_report) || (SL_MAJOR(img_report.sl_version) <= 5))) | 					 (!HAS_SYSLINUX(img_report) || (SL_MAJOR(img_report.sl_version) <= 5))) | ||||||
| 				 || ((IS_FAT(fs)) && (!HAS_SYSLINUX(img_report)) && (!allow_dual_uefi_bios) && !IS_EFI_BOOTABLE(img_report) && | 				 || ((IS_FAT(fs_type)) && (!HAS_SYSLINUX(img_report)) && (!allow_dual_uefi_bios) && !IS_EFI_BOOTABLE(img_report) && | ||||||
| 					 (!HAS_REACTOS(img_report)) && !HAS_KOLIBRIOS(img_report) && (!HAS_GRUB(img_report))) | 					 (!HAS_REACTOS(img_report)) && !HAS_KOLIBRIOS(img_report) && (!HAS_GRUB(img_report))) | ||||||
| 				 || ((IS_FAT(fs)) && (HAS_WINDOWS(img_report) || HAS_WININST(img_report)) && (!allow_dual_uefi_bios)) ) { | 				 || ((IS_FAT(fs_type)) && (HAS_WINDOWS(img_report) || HAS_WININST(img_report)) && (!allow_dual_uefi_bios)) ) { | ||||||
| 			// Incompatible FS and ISO
 | 			// Incompatible FS and ISO
 | ||||||
| 			MessageBoxExU(hMainDialog, lmprintf(MSG_096), lmprintf(MSG_092), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); | 			MessageBoxExU(hMainDialog, lmprintf(MSG_096), lmprintf(MSG_092), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); | ||||||
| 			goto out; | 			goto out; | ||||||
| 		} else if ((fs == FS_FAT16) && HAS_KOLIBRIOS(img_report)) { | 		} else if ((fs_type == FS_FAT16) && HAS_KOLIBRIOS(img_report)) { | ||||||
| 			// KolibriOS doesn't support FAT16
 | 			// KolibriOS doesn't support FAT16
 | ||||||
| 			MessageBoxExU(hMainDialog, lmprintf(MSG_189), lmprintf(MSG_099), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); | 			MessageBoxExU(hMainDialog, lmprintf(MSG_189), lmprintf(MSG_099), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); | ||||||
| 			goto out; | 			goto out; | ||||||
| 		} | 		} | ||||||
| 		if ((IS_FAT(fs)) && (img_report.has_4GB_file)) { | 		if ((IS_FAT(fs_type)) && (img_report.has_4GB_file)) { | ||||||
| 			// This ISO image contains a file larger than 4GB file (FAT32)
 | 			// This ISO image contains a file larger than 4GB file (FAT32)
 | ||||||
| 			MessageBoxExU(hMainDialog, lmprintf(MSG_100), lmprintf(MSG_099), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); | 			MessageBoxExU(hMainDialog, lmprintf(MSG_100), lmprintf(MSG_099), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); | ||||||
| 			goto out; | 			goto out; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		// If the selected target doesn't include include BIOS, skip file downloads for GRUB/Syslinux
 | 		// If the selected target doesn't include include BIOS, skip file downloads for GRUB/Syslinux
 | ||||||
| 		if (tt != TT_BIOS) | 		if (target_type != TT_BIOS) | ||||||
| 			goto uefi_target; | 			goto uefi_target; | ||||||
| 
 | 
 | ||||||
| 		if ((pt == PARTITION_STYLE_MBR) && (img_report.has_grub2) && (img_report.grub2_version[0] != 0) && | 		if ((partition_type == PARTITION_STYLE_MBR) && (img_report.has_grub2) && (img_report.grub2_version[0] != 0) && | ||||||
| 			(strcmp(img_report.grub2_version, GRUB2_PACKAGE_VERSION) != 0)) { | 			(strcmp(img_report.grub2_version, GRUB2_PACKAGE_VERSION) != 0)) { | ||||||
| 			// We may have to download a different Grub2 version if we can find one
 | 			// We may have to download a different Grub2 version if we can find one
 | ||||||
| 			IGNORE_RETVAL(_chdirU(app_dir)); | 			IGNORE_RETVAL(_chdirU(app_dir)); | ||||||
|  | @ -1295,7 +1295,7 @@ static DWORD WINAPI BootCheckThread(LPVOID param) | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if ((pt == PARTITION_STYLE_MBR) && HAS_SYSLINUX(img_report)) { | 		if ((partition_type == PARTITION_STYLE_MBR) && HAS_SYSLINUX(img_report)) { | ||||||
| 			if (SL_MAJOR(img_report.sl_version) < 5) { | 			if (SL_MAJOR(img_report.sl_version) < 5) { | ||||||
| 				IGNORE_RETVAL(_chdirU(app_dir)); | 				IGNORE_RETVAL(_chdirU(app_dir)); | ||||||
| 				for (i=0; i<NB_OLD_C32; i++) { | 				for (i=0; i<NB_OLD_C32; i++) { | ||||||
|  | @ -1396,7 +1396,7 @@ static DWORD WINAPI BootCheckThread(LPVOID param) | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 	} else if (bt == BT_SYSLINUX_V6) { | 	} else if (boot_type == BT_SYSLINUX_V6) { | ||||||
| 		IGNORE_RETVAL(_chdirU(app_dir)); | 		IGNORE_RETVAL(_chdirU(app_dir)); | ||||||
| 		IGNORE_RETVAL(_mkdir(FILES_DIR)); | 		IGNORE_RETVAL(_mkdir(FILES_DIR)); | ||||||
| 		IGNORE_RETVAL(_chdir(FILES_DIR)); | 		IGNORE_RETVAL(_chdir(FILES_DIR)); | ||||||
|  | @ -1421,13 +1421,13 @@ static DWORD WINAPI BootCheckThread(LPVOID param) | ||||||
| 					goto out; | 					goto out; | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 	} else if (bt == BT_MSDOS) { | 	} else if (boot_type == BT_MSDOS) { | ||||||
| 		if ((size_check) && (ComboBox_GetItemData(hClusterSize, ComboBox_GetCurSel(hClusterSize)) >= 65536)) { | 		if ((size_check) && (ComboBox_GetItemData(hClusterSize, ComboBox_GetCurSel(hClusterSize)) >= 65536)) { | ||||||
| 			// MS-DOS cannot boot from a drive using a 64 kilobytes Cluster size
 | 			// MS-DOS cannot boot from a drive using a 64 kilobytes Cluster size
 | ||||||
| 			MessageBoxExU(hMainDialog, lmprintf(MSG_110), lmprintf(MSG_111), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); | 			MessageBoxExU(hMainDialog, lmprintf(MSG_110), lmprintf(MSG_111), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); | ||||||
| 			goto out; | 			goto out; | ||||||
| 		} | 		} | ||||||
| 	} else if (bt == BT_GRUB4DOS) { | 	} else if (boot_type == BT_GRUB4DOS) { | ||||||
| 		IGNORE_RETVAL(_chdirU(app_dir)); | 		IGNORE_RETVAL(_chdirU(app_dir)); | ||||||
| 		IGNORE_RETVAL(_mkdir(FILES_DIR)); | 		IGNORE_RETVAL(_mkdir(FILES_DIR)); | ||||||
| 		IGNORE_RETVAL(_chdir(FILES_DIR)); | 		IGNORE_RETVAL(_chdir(FILES_DIR)); | ||||||
|  | @ -1454,9 +1454,9 @@ static DWORD WINAPI BootCheckThread(LPVOID param) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| uefi_target: | uefi_target: | ||||||
| 	if (bt == BT_UEFI_NTFS) { | 	if (boot_type == BT_UEFI_NTFS) { | ||||||
| 		fs = (int)ComboBox_GetItemData(hFileSystem, ComboBox_GetCurSel(hFileSystem)); | 		fs_type = (int)ComboBox_GetItemData(hFileSystem, ComboBox_GetCurSel(hFileSystem)); | ||||||
| 		if (fs != FS_NTFS) { | 		if (fs_type != FS_NTFS) { | ||||||
| 			MessageBoxExU(hMainDialog, lmprintf(MSG_097, "UEFI:NTFS"), lmprintf(MSG_092), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); | 			MessageBoxExU(hMainDialog, lmprintf(MSG_097, "UEFI:NTFS"), lmprintf(MSG_092), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); | ||||||
| 			goto out; | 			goto out; | ||||||
| 		} | 		} | ||||||
|  | @ -2020,7 +2020,7 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA | ||||||
| 			WriteSettingBool(SETTING_ADVANCED_MODE_DEVICE, advanced_mode_device); | 			WriteSettingBool(SETTING_ADVANCED_MODE_DEVICE, advanced_mode_device); | ||||||
| 			ToggleAdvancedDeviceOptions(advanced_mode_device); | 			ToggleAdvancedDeviceOptions(advanced_mode_device); | ||||||
| 			SetBootOptions(); | 			SetBootOptions(); | ||||||
| 			bt = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); | 			boot_type = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); | ||||||
| 			EnableControls(TRUE); | 			EnableControls(TRUE); | ||||||
| 			SetFileSystemAndClusterSize(NULL); | 			SetFileSystemAndClusterSize(NULL); | ||||||
| 			SendMessage(hMainDialog, WM_COMMAND, (CBN_SELCHANGE_INTERNAL<<16) | IDC_FILE_SYSTEM, | 			SendMessage(hMainDialog, WM_COMMAND, (CBN_SELCHANGE_INTERNAL<<16) | IDC_FILE_SYSTEM, | ||||||
|  | @ -2111,18 +2111,18 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA | ||||||
| 		case IDC_TARGET_SYSTEM: | 		case IDC_TARGET_SYSTEM: | ||||||
| 			if (HIWORD(wParam) != CBN_SELCHANGE) | 			if (HIWORD(wParam) != CBN_SELCHANGE) | ||||||
| 				break; | 				break; | ||||||
| 			tt = (int)ComboBox_GetItemData(hTargetSystem, ComboBox_GetCurSel(hTargetSystem)); | 			target_type = (int)ComboBox_GetItemData(hTargetSystem, ComboBox_GetCurSel(hTargetSystem)); | ||||||
| 			SendMessage(hMainDialog, UM_UPDATE_CSM_TOOLTIP, 0, 0); | 			SendMessage(hMainDialog, UM_UPDATE_CSM_TOOLTIP, 0, 0); | ||||||
| 			SetFileSystemAndClusterSize(NULL); | 			SetFileSystemAndClusterSize(NULL); | ||||||
| 			break; | 			break; | ||||||
| 		case IDC_PARTITION_TYPE: | 		case IDC_PARTITION_TYPE: | ||||||
| 			if (HIWORD(wParam) != CBN_SELCHANGE) | 			if (HIWORD(wParam) != CBN_SELCHANGE) | ||||||
| 				break; | 				break; | ||||||
| 			pt = (int)ComboBox_GetItemData(hPartitionScheme, ComboBox_GetCurSel(hPartitionScheme)); | 			partition_type = (int)ComboBox_GetItemData(hPartitionScheme, ComboBox_GetCurSel(hPartitionScheme)); | ||||||
| 			SetPartitionSchemeAndTargetSystem(TRUE); | 			SetPartitionSchemeAndTargetSystem(TRUE); | ||||||
| 			SetFileSystemAndClusterSize(NULL); | 			SetFileSystemAndClusterSize(NULL); | ||||||
| 			EnableMBRBootOptions(TRUE, FALSE); | 			EnableMBRBootOptions(TRUE, FALSE); | ||||||
| 			selected_pt = pt; | 			selected_pt = partition_type; | ||||||
| 			break; | 			break; | ||||||
| 		case IDC_FILE_SYSTEM: | 		case IDC_FILE_SYSTEM: | ||||||
| 			if ((HIWORD(wParam) != CBN_SELCHANGE) && (HIWORD(wParam) != CBN_SELCHANGE_INTERNAL)) | 			if ((HIWORD(wParam) != CBN_SELCHANGE) && (HIWORD(wParam) != CBN_SELCHANGE_INTERNAL)) | ||||||
|  | @ -2130,20 +2130,20 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA | ||||||
| 			if (IsWindowEnabled(hFileSystem)) | 			if (IsWindowEnabled(hFileSystem)) | ||||||
| 				EnableQuickFormat(TRUE); | 				EnableQuickFormat(TRUE); | ||||||
| 			set_selected_fs = (HIWORD(wParam) == CBN_SELCHANGE); | 			set_selected_fs = (HIWORD(wParam) == CBN_SELCHANGE); | ||||||
| 			fs = (int)ComboBox_GetItemData(hFileSystem, ComboBox_GetCurSel(hFileSystem));  | 			fs_type = (int)ComboBox_GetItemData(hFileSystem, ComboBox_GetCurSel(hFileSystem));  | ||||||
| 			SetClusterSizes(fs); | 			SetClusterSizes(fs_type); | ||||||
| 			if (set_selected_fs && (fs > 0)) | 			if (set_selected_fs && (fs_type > 0)) | ||||||
| 				selected_fs = fs; | 				selected_fs = fs_type; | ||||||
| 			EnableMBRBootOptions(TRUE, FALSE); | 			EnableMBRBootOptions(TRUE, FALSE); | ||||||
| 			SetMBRProps(); | 			SetMBRProps(); | ||||||
| 			break; | 			break; | ||||||
| 		case IDC_BOOT_SELECTION: | 		case IDC_BOOT_SELECTION: | ||||||
| 			if (HIWORD(wParam) != CBN_SELCHANGE) | 			if (HIWORD(wParam) != CBN_SELCHANGE) | ||||||
| 				break; | 				break; | ||||||
| 			bt = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); | 			boot_type = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); | ||||||
| 			if ((HIWORD(wParam) != CBN_SELCHANGE) || (bt == selection_default)) | 			if ((HIWORD(wParam) != CBN_SELCHANGE) || (boot_type == selection_default)) | ||||||
| 				break; | 				break; | ||||||
| 			selection_default = bt; | 			selection_default = boot_type; | ||||||
| 			SetPartitionSchemeAndTargetSystem(FALSE); | 			SetPartitionSchemeAndTargetSystem(FALSE); | ||||||
| 			// Try to reselect current FS from the drive for non-bootable
 | 			// Try to reselect current FS from the drive for non-bootable
 | ||||||
| 			tmp[0] = 0; | 			tmp[0] = 0; | ||||||
|  | @ -2153,8 +2153,8 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA | ||||||
| 			ToggleImageOptions(); | 			ToggleImageOptions(); | ||||||
| 			SetProposedLabel(ComboBox_GetCurSel(hDeviceList)); | 			SetProposedLabel(ComboBox_GetCurSel(hDeviceList)); | ||||||
| 			EnableControls(TRUE); | 			EnableControls(TRUE); | ||||||
| 			tt = (int)ComboBox_GetItemData(hPartitionScheme, ComboBox_GetCurSel(hPartitionScheme)); | 			target_type = (int)ComboBox_GetItemData(hPartitionScheme, ComboBox_GetCurSel(hPartitionScheme)); | ||||||
| 			pt = (int)ComboBox_GetItemData(hTargetSystem, ComboBox_GetCurSel(hTargetSystem)); | 			partition_type = (int)ComboBox_GetItemData(hTargetSystem, ComboBox_GetCurSel(hTargetSystem)); | ||||||
| 			return (INT_PTR)TRUE; | 			return (INT_PTR)TRUE; | ||||||
| 		case IDC_SELECT: | 		case IDC_SELECT: | ||||||
| 			if (select_index == 1) { | 			if (select_index == 1) { | ||||||
|  | @ -2206,10 +2206,10 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA | ||||||
| 			if (format_thid != NULL) | 			if (format_thid != NULL) | ||||||
| 				return (INT_PTR)TRUE; | 				return (INT_PTR)TRUE; | ||||||
| 			// Just in case
 | 			// Just in case
 | ||||||
| 			bt = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); | 			boot_type = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); | ||||||
| 			pt = (int)ComboBox_GetItemData(hPartitionScheme, ComboBox_GetCurSel(hPartitionScheme)); | 			partition_type = (int)ComboBox_GetItemData(hPartitionScheme, ComboBox_GetCurSel(hPartitionScheme)); | ||||||
| 			tt = (int)ComboBox_GetItemData(hTargetSystem, ComboBox_GetCurSel(hTargetSystem)); | 			target_type = (int)ComboBox_GetItemData(hTargetSystem, ComboBox_GetCurSel(hTargetSystem)); | ||||||
| 			fs = (int)ComboBox_GetItemData(hFileSystem, ComboBox_GetCurSel(hFileSystem)); | 			fs_type = (int)ComboBox_GetItemData(hFileSystem, ComboBox_GetCurSel(hFileSystem)); | ||||||
| 			write_as_image = FALSE; | 			write_as_image = FALSE; | ||||||
| 			installed_uefi_ntfs = FALSE; | 			installed_uefi_ntfs = FALSE; | ||||||
| 			// Disable all controls except Cancel
 | 			// Disable all controls except Cancel
 | ||||||
|  | @ -2275,8 +2275,8 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA | ||||||
| 		return (INT_PTR)TRUE; | 		return (INT_PTR)TRUE; | ||||||
| 
 | 
 | ||||||
| 	case UM_UPDATE_CSM_TOOLTIP: | 	case UM_UPDATE_CSM_TOOLTIP: | ||||||
| 		ShowWindow(GetDlgItem(hMainDialog, IDS_CSM_HELP_TXT), ((tt == TT_UEFI) || has_uefi_csm) ? SW_SHOW : SW_HIDE); | 		ShowWindow(GetDlgItem(hMainDialog, IDS_CSM_HELP_TXT), ((target_type == TT_UEFI) || has_uefi_csm) ? SW_SHOW : SW_HIDE); | ||||||
| 		CreateTooltip(GetDlgItem(hMainDialog, IDS_CSM_HELP_TXT), lmprintf((tt == TT_UEFI) ? MSG_152 : MSG_151), 30000); | 		CreateTooltip(GetDlgItem(hMainDialog, IDS_CSM_HELP_TXT), lmprintf((target_type == TT_UEFI) ? MSG_152 : MSG_151), 30000); | ||||||
| 		break; | 		break; | ||||||
| 	case UM_ENABLE_CONTROLS: | 	case UM_ENABLE_CONTROLS: | ||||||
| 		KillTimer(hMainDialog, TID_APP_TIMER); | 		KillTimer(hMainDialog, TID_APP_TIMER); | ||||||
|  | @ -2574,7 +2574,7 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA | ||||||
| 		if (wParam != 0) | 		if (wParam != 0) | ||||||
| 			goto aborted_start; | 			goto aborted_start; | ||||||
| 
 | 
 | ||||||
| 		if ((pt == PARTITION_STYLE_MBR) && (SelectedDrive.DiskSize > 2 * TB)) { | 		if ((partition_type == PARTITION_STYLE_MBR) && (SelectedDrive.DiskSize > 2 * TB)) { | ||||||
| 			if (MessageBoxExU(hMainDialog, lmprintf(MSG_134, SizeToHumanReadable(SelectedDrive.DiskSize - 2 * TB, FALSE, FALSE)), | 			if (MessageBoxExU(hMainDialog, lmprintf(MSG_134, SizeToHumanReadable(SelectedDrive.DiskSize - 2 * TB, FALSE, FALSE)), | ||||||
| 				lmprintf(MSG_128, "MBR"), MB_YESNO | MB_ICONWARNING | MB_IS_RTL, selected_langid) != IDYES) | 				lmprintf(MSG_128, "MBR"), MB_YESNO | MB_ICONWARNING | MB_IS_RTL, selected_langid) != IDYES) | ||||||
| 				goto aborted_start; | 				goto aborted_start; | ||||||
|  | @ -2582,7 +2582,7 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA | ||||||
| 
 | 
 | ||||||
| 		if (!zero_drive) { | 		if (!zero_drive) { | ||||||
| 			// Display a warning about UDF formatting times
 | 			// Display a warning about UDF formatting times
 | ||||||
| 			if (fs == FS_UDF) { | 			if (fs_type == FS_UDF) { | ||||||
| 				dur_secs = (uint32_t)(((double)SelectedDrive.DiskSize) / 1073741824.0f / UDF_FORMAT_SPEED); | 				dur_secs = (uint32_t)(((double)SelectedDrive.DiskSize) / 1073741824.0f / UDF_FORMAT_SPEED); | ||||||
| 				if (dur_secs > UDF_FORMAT_WARN) { | 				if (dur_secs > UDF_FORMAT_WARN) { | ||||||
| 					dur_mins = dur_secs / 60; | 					dur_mins = dur_secs / 60; | ||||||
|  | @ -2595,7 +2595,7 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			if ((bt == BT_IMAGE) && IS_DD_BOOTABLE(img_report)) { | 			if ((boot_type == BT_IMAGE) && IS_DD_BOOTABLE(img_report)) { | ||||||
| 				if (img_report.is_iso) { | 				if (img_report.is_iso) { | ||||||
| 					// Ask users how they want to write ISOHybrid images
 | 					// Ask users how they want to write ISOHybrid images
 | ||||||
| 					char* iso_image = lmprintf(MSG_036); | 					char* iso_image = lmprintf(MSG_036); | ||||||
|  | @ -2623,7 +2623,7 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA | ||||||
| 		if ((SelectedDrive.nPartitions > 1) && (MessageBoxExU(hMainDialog, lmprintf(MSG_093), | 		if ((SelectedDrive.nPartitions > 1) && (MessageBoxExU(hMainDialog, lmprintf(MSG_093), | ||||||
| 			lmprintf(MSG_094), MB_OKCANCEL | MB_ICONWARNING | MB_IS_RTL, selected_langid) == IDCANCEL)) | 			lmprintf(MSG_094), MB_OKCANCEL | MB_ICONWARNING | MB_IS_RTL, selected_langid) == IDCANCEL)) | ||||||
| 			goto aborted_start; | 			goto aborted_start; | ||||||
| 		if ((!zero_drive) && (bt != BT_NON_BOOTABLE) && (SelectedDrive.SectorSize != 512) && | 		if ((!zero_drive) && (boot_type != BT_NON_BOOTABLE) && (SelectedDrive.SectorSize != 512) && | ||||||
| 			(MessageBoxExU(hMainDialog, lmprintf(MSG_196, SelectedDrive.SectorSize), | 			(MessageBoxExU(hMainDialog, lmprintf(MSG_196, SelectedDrive.SectorSize), | ||||||
| 				lmprintf(MSG_197), MB_OKCANCEL | MB_ICONWARNING | MB_IS_RTL, selected_langid) == IDCANCEL)) | 				lmprintf(MSG_197), MB_OKCANCEL | MB_ICONWARNING | MB_IS_RTL, selected_langid) == IDCANCEL)) | ||||||
| 			goto aborted_start; | 			goto aborted_start; | ||||||
|  |  | ||||||
|  | @ -314,7 +314,7 @@ enum checksum_type { | ||||||
| #define IS_BIOS_BOOTABLE(r) (HAS_BOOTMGR(r) || HAS_SYSLINUX(r) || HAS_WINPE(r) || HAS_GRUB(r) || HAS_REACTOS(r) || HAS_KOLIBRIOS(r)) | #define IS_BIOS_BOOTABLE(r) (HAS_BOOTMGR(r) || HAS_SYSLINUX(r) || HAS_WINPE(r) || HAS_GRUB(r) || HAS_REACTOS(r) || HAS_KOLIBRIOS(r)) | ||||||
| #define HAS_WINTOGO(r)      (HAS_BOOTMGR(r) && IS_EFI_BOOTABLE(r) && HAS_WININST(r)) | #define HAS_WINTOGO(r)      (HAS_BOOTMGR(r) && IS_EFI_BOOTABLE(r) && HAS_WININST(r)) | ||||||
| #define HAS_PERSISTENCE(r)  (r.has_casper) | #define HAS_PERSISTENCE(r)  (r.has_casper) | ||||||
| #define IS_FAT(fs)          ((fs == FS_FAT16) || (fs == FS_FAT32)) | #define IS_FAT(fs)          ((fs_type == FS_FAT16) || (fs_type == FS_FAT32)) | ||||||
| 
 | 
 | ||||||
| typedef struct { | typedef struct { | ||||||
| 	char label[192];					// 3*64 to account for UTF-8
 | 	char label[192];					// 3*64 to account for UTF-8
 | ||||||
|  | @ -456,7 +456,7 @@ extern size_t ubuffer_pos; | ||||||
| extern const int nb_steps[FS_MAX]; | extern const int nb_steps[FS_MAX]; | ||||||
| extern float fScale; | extern float fScale; | ||||||
| extern int nWindowsVersion, nWindowsBuildNumber, dialog_showing, force_update; | extern int nWindowsVersion, nWindowsBuildNumber, dialog_showing, force_update; | ||||||
| extern int fs, bt, pt, tt; | extern int fs_type, boot_type, partition_type, target_type; | ||||||
| extern unsigned long syslinux_ldlinux_len[2]; | extern unsigned long syslinux_ldlinux_len[2]; | ||||||
| extern char WindowsVersionStr[128], ubuffer[UBUFFER_SIZE], embedded_sl_version_str[2][12]; | extern char WindowsVersionStr[128], ubuffer[UBUFFER_SIZE], embedded_sl_version_str[2][12]; | ||||||
| extern char szFolderPath[MAX_PATH], app_dir[MAX_PATH], temp_dir[MAX_PATH], system_dir[MAX_PATH], sysnative_dir[MAX_PATH]; | extern char szFolderPath[MAX_PATH], app_dir[MAX_PATH], temp_dir[MAX_PATH], system_dir[MAX_PATH], sysnative_dir[MAX_PATH]; | ||||||
|  |  | ||||||
							
								
								
									
										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.6.1519" | CAPTION "Rufus 3.6.1520" | ||||||
| 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 | ||||||
|  | @ -394,8 +394,8 @@ END | ||||||
| // | // | ||||||
| 
 | 
 | ||||||
| VS_VERSION_INFO VERSIONINFO | VS_VERSION_INFO VERSIONINFO | ||||||
|  FILEVERSION 3,6,1519,0 |  FILEVERSION 3,6,1520,0 | ||||||
|  PRODUCTVERSION 3,6,1519,0 |  PRODUCTVERSION 3,6,1520,0 | ||||||
|  FILEFLAGSMASK 0x3fL |  FILEFLAGSMASK 0x3fL | ||||||
| #ifdef _DEBUG | #ifdef _DEBUG | ||||||
|  FILEFLAGS 0x1L |  FILEFLAGS 0x1L | ||||||
|  | @ -413,13 +413,13 @@ BEGIN | ||||||
|             VALUE "Comments", "https://akeo.ie" |             VALUE "Comments", "https://akeo.ie" | ||||||
|             VALUE "CompanyName", "Akeo Consulting" |             VALUE "CompanyName", "Akeo Consulting" | ||||||
|             VALUE "FileDescription", "Rufus" |             VALUE "FileDescription", "Rufus" | ||||||
|             VALUE "FileVersion", "3.6.1519" |             VALUE "FileVersion", "3.6.1520" | ||||||
|             VALUE "InternalName", "Rufus" |             VALUE "InternalName", "Rufus" | ||||||
|             VALUE "LegalCopyright", "© 2011-2019 Pete Batard (GPL v3)" |             VALUE "LegalCopyright", "© 2011-2019 Pete Batard (GPL v3)" | ||||||
|             VALUE "LegalTrademarks", "https://www.gnu.org/copyleft/gpl.html" |             VALUE "LegalTrademarks", "https://www.gnu.org/copyleft/gpl.html" | ||||||
|             VALUE "OriginalFilename", "rufus-3.6.exe" |             VALUE "OriginalFilename", "rufus-3.6.exe" | ||||||
|             VALUE "ProductName", "Rufus" |             VALUE "ProductName", "Rufus" | ||||||
|             VALUE "ProductVersion", "3.6.1519" |             VALUE "ProductVersion", "3.6.1520" | ||||||
|         END |         END | ||||||
|     END |     END | ||||||
|     BLOCK "VarFileInfo" |     BLOCK "VarFileInfo" | ||||||
|  |  | ||||||
|  | @ -83,7 +83,7 @@ int libfat_readfile(intptr_t pp, void *buf, size_t secsize, libfat_sector_t sect | ||||||
|  * Extract the ldlinux.sys and ldlinux.bss from resources, |  * Extract the ldlinux.sys and ldlinux.bss from resources, | ||||||
|  * then patch and install them |  * then patch and install them | ||||||
|  */ |  */ | ||||||
| BOOL InstallSyslinux(DWORD drive_index, char drive_letter, int fs_type) | BOOL InstallSyslinux(DWORD drive_index, char drive_letter, int file_system) | ||||||
| { | { | ||||||
| 	const LARGE_INTEGER liZero = { {0, 0} }; | 	const LARGE_INTEGER liZero = { {0, 0} }; | ||||||
| 	HANDLE f_handle = INVALID_HANDLE_VALUE; | 	HANDLE f_handle = INVALID_HANDLE_VALUE; | ||||||
|  | @ -112,9 +112,9 @@ BOOL InstallSyslinux(DWORD drive_index, char drive_letter, int fs_type) | ||||||
| 	int ldlinux_sectors; | 	int ldlinux_sectors; | ||||||
| 	uint32_t ldlinux_cluster; | 	uint32_t ldlinux_cluster; | ||||||
| 	int i, nsectors, sl_fs_stype; | 	int i, nsectors, sl_fs_stype; | ||||||
| 	BOOL use_v5 = (bt == BT_SYSLINUX_V6) || ((bt == BT_IMAGE) && (SL_MAJOR(img_report.sl_version) >= 5)); | 	BOOL use_v5 = (boot_type == BT_SYSLINUX_V6) || ((boot_type == BT_IMAGE) && (SL_MAJOR(img_report.sl_version) >= 5)); | ||||||
| 
 | 
 | ||||||
| 	PrintInfoDebug(0, MSG_234, (bt == BT_IMAGE)?img_report.sl_version_str:embedded_sl_version_str[use_v5?1:0]); | 	PrintInfoDebug(0, MSG_234, (boot_type == BT_IMAGE)?img_report.sl_version_str:embedded_sl_version_str[use_v5?1:0]); | ||||||
| 
 | 
 | ||||||
| 	/* 4K sector size workaround */ | 	/* 4K sector size workaround */ | ||||||
| 	SECTOR_SHIFT = 0; | 	SECTOR_SHIFT = 0; | ||||||
|  | @ -218,7 +218,7 @@ BOOL InstallSyslinux(DWORD drive_index, char drive_letter, int fs_type) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	uprintf("Successfully wrote '%s'", &path[3]); | 	uprintf("Successfully wrote '%s'", &path[3]); | ||||||
| 	if (bt != BT_IMAGE) | 	if (boot_type != BT_IMAGE) | ||||||
| 		UpdateProgress(OP_DOS, -1.0f); | 		UpdateProgress(OP_DOS, -1.0f); | ||||||
| 
 | 
 | ||||||
| 	/* Now flush the media */ | 	/* Now flush the media */ | ||||||
|  | @ -233,7 +233,7 @@ BOOL InstallSyslinux(DWORD drive_index, char drive_letter, int fs_type) | ||||||
| 	if (sectors == NULL) | 	if (sectors == NULL) | ||||||
| 		goto out; | 		goto out; | ||||||
| 
 | 
 | ||||||
| 	switch (fs_type) { | 	switch (file_system) { | ||||||
| 	case FS_NTFS: | 	case FS_NTFS: | ||||||
| 		static_sprintf(tmp, "%C:\\", drive_letter); | 		static_sprintf(tmp, "%C:\\", drive_letter); | ||||||
| 		vol_info.Handle = d_handle; | 		vol_info.Handle = d_handle; | ||||||
|  | @ -317,7 +317,7 @@ BOOL InstallSyslinux(DWORD drive_index, char drive_letter, int fs_type) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/* Make the syslinux boot sector */ | 	/* Make the syslinux boot sector */ | ||||||
| 	syslinux_make_bootsect(sectbuf, (fs_type == FS_NTFS)?NTFS:VFAT); | 	syslinux_make_bootsect(sectbuf, (file_system == FS_NTFS)?NTFS:VFAT); | ||||||
| 
 | 
 | ||||||
| 	/* Write boot sector back */ | 	/* Write boot sector back */ | ||||||
| 	if (!SetFilePointerEx(d_handle, liZero, NULL, FILE_BEGIN) || | 	if (!SetFilePointerEx(d_handle, liZero, NULL, FILE_BEGIN) || | ||||||
|  | @ -328,7 +328,7 @@ BOOL InstallSyslinux(DWORD drive_index, char drive_letter, int fs_type) | ||||||
| 	} | 	} | ||||||
| 	uprintf("Successfully wrote Syslinux boot record"); | 	uprintf("Successfully wrote Syslinux boot record"); | ||||||
| 
 | 
 | ||||||
| 	if (bt == BT_SYSLINUX_V6) { | 	if (boot_type == BT_SYSLINUX_V6) { | ||||||
| 		IGNORE_RETVAL(_chdirU(app_dir)); | 		IGNORE_RETVAL(_chdirU(app_dir)); | ||||||
| 		static_sprintf(path, "%s/%s-%s", FILES_DIR, syslinux, embedded_sl_version_str[1]); | 		static_sprintf(path, "%s/%s-%s", FILES_DIR, syslinux, embedded_sl_version_str[1]); | ||||||
| 		IGNORE_RETVAL(_chdir(path)); | 		IGNORE_RETVAL(_chdir(path)); | ||||||
|  | @ -379,7 +379,7 @@ BOOL InstallSyslinux(DWORD drive_index, char drive_letter, int fs_type) | ||||||
| 		fclose(fd); | 		fclose(fd); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if (bt != BT_IMAGE) | 	if (boot_type != BT_IMAGE) | ||||||
| 		UpdateProgress(OP_DOS, -1.0f); | 		UpdateProgress(OP_DOS, -1.0f); | ||||||
| 
 | 
 | ||||||
| 	r = TRUE; | 	r = TRUE; | ||||||
|  |  | ||||||
							
								
								
									
										10
									
								
								src/ui.c
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								src/ui.c
									
										
									
									
									
								
							|  | @ -755,8 +755,8 @@ void ToggleImageOptions(void) | ||||||
| 	uint8_t entry_image_options = image_options; | 	uint8_t entry_image_options = image_options; | ||||||
| 	int i, shift = rh; | 	int i, shift = rh; | ||||||
| 
 | 
 | ||||||
| 	has_wintogo = ((bt == BT_IMAGE) && (image_path != NULL) && (img_report.is_iso) && (nWindowsVersion >= WINDOWS_8) && (HAS_WINTOGO(img_report))); | 	has_wintogo = ((boot_type == BT_IMAGE) && (image_path != NULL) && (img_report.is_iso) && (nWindowsVersion >= WINDOWS_8) && (HAS_WINTOGO(img_report))); | ||||||
| 	has_persistence = ((bt == BT_IMAGE) && (image_path != NULL) && (img_report.is_iso) && (HAS_PERSISTENCE(img_report))); | 	has_persistence = ((boot_type == BT_IMAGE) && (image_path != NULL) && (img_report.is_iso) && (HAS_PERSISTENCE(img_report))); | ||||||
| 
 | 
 | ||||||
| 	assert(popcnt8(image_options) <= 1); | 	assert(popcnt8(image_options) <= 1); | ||||||
| 
 | 
 | ||||||
|  | @ -1145,7 +1145,7 @@ void InitProgress(BOOL bOnlyFormat) | ||||||
| 		if (IsChecked(IDC_BAD_BLOCKS)) { | 		if (IsChecked(IDC_BAD_BLOCKS)) { | ||||||
| 			nb_slots[OP_BADBLOCKS] = -1; | 			nb_slots[OP_BADBLOCKS] = -1; | ||||||
| 		} | 		} | ||||||
| 		if (bt != BT_NON_BOOTABLE) { | 		if (boot_type != BT_NON_BOOTABLE) { | ||||||
| 			// 1 extra slot for PBR writing
 | 			// 1 extra slot for PBR writing
 | ||||||
| 			switch (selection_default) { | 			switch (selection_default) { | ||||||
| 			case BT_MSDOS: | 			case BT_MSDOS: | ||||||
|  | @ -1171,10 +1171,10 @@ void InitProgress(BOOL bOnlyFormat) | ||||||
| 			nb_slots[OP_CREATE_FS] = | 			nb_slots[OP_CREATE_FS] = | ||||||
| 				nb_steps[ComboBox_GetItemData(hFileSystem, ComboBox_GetCurSel(hFileSystem))]; | 				nb_steps[ComboBox_GetItemData(hFileSystem, ComboBox_GetCurSel(hFileSystem))]; | ||||||
| 			if ((!IsChecked(IDC_QUICK_FORMAT)) | 			if ((!IsChecked(IDC_QUICK_FORMAT)) | ||||||
| 				|| ((fs == FS_FAT32) && ((SelectedDrive.DiskSize >= LARGE_FAT32_SIZE) || (force_large_fat32)))) { | 				|| ((fs_type == FS_FAT32) && ((SelectedDrive.DiskSize >= LARGE_FAT32_SIZE) || (force_large_fat32)))) { | ||||||
| 				nb_slots[OP_FORMAT] = -1; | 				nb_slots[OP_FORMAT] = -1; | ||||||
| 			} | 			} | ||||||
| 			nb_slots[OP_FINALIZE] = ((selection_default == BT_IMAGE) && (fs == FS_NTFS)) ? 3 : 2; | 			nb_slots[OP_FINALIZE] = ((selection_default == BT_IMAGE) && (fs_type == FS_NTFS)) ? 3 : 2; | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue