[core] allow the use of A: and B: as drive letters and fix in-use detection for Z:

* Closes #1016
* Also expand support for Arch Linux derivatives Syslinux config files
This commit is contained in:
Pete Batard 2017-09-06 14:00:30 +01:00
parent 9464ae94a4
commit 4a213c3ba0
4 changed files with 8 additions and 10 deletions

View file

@ -5,6 +5,7 @@ o Version 2.17 (2017.09.??)
Strengthen download update checks, to prevent attack scenarios that leverage user unawareness Strengthen download update checks, to prevent attack scenarios that leverage user unawareness
Fix an issue with Spanish translation prompts not displaying properly Fix an issue with Spanish translation prompts not displaying properly
Fix an issue with Windows To Go support on some non-official Windows ISOs Fix an issue with Windows To Go support on some non-official Windows ISOs
Fix an issue with using A: or B: as flash drive letters
Fix an issue with log autoscrolling Fix an issue with log autoscrolling
o Version 2.16 (2017.07.31) o Version 2.16 (2017.07.31)

View file

@ -431,9 +431,6 @@ static BOOL _GetDriveLettersAndType(DWORD DriveIndex, char* drive_letters, UINT*
if (!isalpha(*drive)) if (!isalpha(*drive))
continue; continue;
*drive = (char)toupper((int)*drive); *drive = (char)toupper((int)*drive);
if (*drive < 'C') {
continue;
}
// IOCTL_STORAGE_GET_DEVICE_NUMBER's STORAGE_DEVICE_NUMBER.DeviceNumber is // IOCTL_STORAGE_GET_DEVICE_NUMBER's STORAGE_DEVICE_NUMBER.DeviceNumber is
// not unique! An HDD, a DVD and probably other drives can have the same // not unique! An HDD, a DVD and probably other drives can have the same
@ -502,7 +499,7 @@ char GetUnusedDriveLetter(void)
goto out; goto out;
} }
for (drive_letter = 'C'; drive_letter < 'Z'; drive_letter++) { for (drive_letter = 'C'; drive_letter <= 'Z'; drive_letter++) {
for (drive = drives ;*drive; drive += safe_strlen(drive)+1) { for (drive = drives ;*drive; drive += safe_strlen(drive)+1) {
if (!isalpha(*drive)) if (!isalpha(*drive))
continue; continue;

View file

@ -83,7 +83,7 @@ static const char* install_wim_name[] = { "install.wim", "install.swm" };
static const char* grub_dirname = "/boot/grub/i386-pc"; static const char* grub_dirname = "/boot/grub/i386-pc";
static const char* grub_cfg = "grub.cfg"; static const char* grub_cfg = "grub.cfg";
static const char* syslinux_cfg[] = { "isolinux.cfg", "syslinux.cfg", "extlinux.conf" }; static const char* syslinux_cfg[] = { "isolinux.cfg", "syslinux.cfg", "extlinux.conf" };
static const char* arch_cfg[] = { "archiso_sys32.cfg", "archiso_sys64.cfg" }; static const char* arch_cfg[] = { "archiso_sys.cfg", "archiso_sys32.cfg", "archiso_sys64.cfg" };
static const char* isolinux_bin[] = { "isolinux.bin", "boot.bin" }; static const char* isolinux_bin[] = { "isolinux.bin", "boot.bin" };
static const char* pe_dirname[] = { "/i386", "/minint" }; static const char* pe_dirname[] = { "/i386", "/minint" };
static const char* pe_file[] = { "ntdetect.com", "setupldr.bin", "txtsetup.sif" }; static const char* pe_file[] = { "ntdetect.com", "setupldr.bin", "txtsetup.sif" };

View file

@ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDD_DIALOG DIALOGEX 12, 12, 242, 376 IDD_DIALOG DIALOGEX 12, 12, 242, 376
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 2.17.1192" CAPTION "Rufus 2.17.1193"
FONT 8, "Segoe UI Symbol", 400, 0, 0x0 FONT 8, "Segoe UI Symbol", 400, 0, 0x0
BEGIN BEGIN
LTEXT "Device",IDS_DEVICE_TXT,9,6,200,8 LTEXT "Device",IDS_DEVICE_TXT,9,6,200,8
@ -366,8 +366,8 @@ END
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 2,17,1192,0 FILEVERSION 2,17,1193,0
PRODUCTVERSION 2,17,1192,0 PRODUCTVERSION 2,17,1193,0
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@ -384,13 +384,13 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)" VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)"
VALUE "FileDescription", "Rufus" VALUE "FileDescription", "Rufus"
VALUE "FileVersion", "2.17.1192" VALUE "FileVersion", "2.17.1193"
VALUE "InternalName", "Rufus" VALUE "InternalName", "Rufus"
VALUE "LegalCopyright", "© 2011-2017 Pete Batard (GPL v3)" VALUE "LegalCopyright", "© 2011-2017 Pete Batard (GPL v3)"
VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html" VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html"
VALUE "OriginalFilename", "rufus.exe" VALUE "OriginalFilename", "rufus.exe"
VALUE "ProductName", "Rufus" VALUE "ProductName", "Rufus"
VALUE "ProductVersion", "2.17.1192" VALUE "ProductVersion", "2.17.1193"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"