From 99de8a6dcdc81bbeb70296704b8c82029e363de2 Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Thu, 28 Apr 2016 10:36:04 +0200 Subject: Windows: Only use A: and B: for mounting when no other free drive letter available or when explicitly chosen by user. This avoid side effects when mounting volumes as removable media and automatic drive selection (e.g. A: become invisible in explorer after closing all explorer instances although it is still mounted). --- src/Common/Dlgcode.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/Common') diff --git a/src/Common/Dlgcode.c b/src/Common/Dlgcode.c index 77210029..6958afe9 100644 --- a/src/Common/Dlgcode.c +++ b/src/Common/Dlgcode.c @@ -6760,11 +6760,13 @@ DWORD GetUsedLogicalDrives (void) int GetFirstAvailableDrive () { DWORD dwUsedDrives = GetUsedLogicalDrives(); - int i; + int i, drive; - for (i = 0; i < 26; i++) + /* let A: and B: be used as last resort since they can introduce side effects */ + for (i = 2; i < 28; i++) { - if (!(dwUsedDrives & 1 << i)) + drive = (i < 26) ? i : (i - 26); + if (!(dwUsedDrives & 1 << drive)) return i; } -- cgit v1.2.3