diff options
author | Simon Rettberg | 2019-02-28 13:25:41 +0100 |
---|---|---|
committer | Simon Rettberg | 2019-02-28 13:25:41 +0100 |
commit | 8c51749ed7cc67be03cec27c4a3fcb06a7988ca5 (patch) | |
tree | f8513c23f62de539b28309292a78e953f04cc155 /core | |
parent | [hardware-stats] Fiddle with service file again (diff) | |
download | mltk-8c51749ed7cc67be03cec27c4a3fcb06a7988ca5.tar.gz mltk-8c51749ed7cc67be03cec27c4a3fcb06a7988ca5.tar.xz mltk-8c51749ed7cc67be03cec27c4a3fcb06a7988ca5.zip |
[run-virt] Fix PRINTER handling
Diffstat (limited to 'core')
-rwxr-xr-x | core/modules/run-virt/data/opt/openslx/vmchooser/data/openslx.exe | bin | 66048 -> 56832 bytes | |||
-rw-r--r-- | core/modules/run-virt/winres/src/winres.c | 20 |
2 files changed, 11 insertions, 9 deletions
diff --git a/core/modules/run-virt/data/opt/openslx/vmchooser/data/openslx.exe b/core/modules/run-virt/data/opt/openslx/vmchooser/data/openslx.exe Binary files differindex 3eb76207..7581b355 100755 --- a/core/modules/run-virt/data/opt/openslx/vmchooser/data/openslx.exe +++ b/core/modules/run-virt/data/opt/openslx/vmchooser/data/openslx.exe diff --git a/core/modules/run-virt/winres/src/winres.c b/core/modules/run-virt/winres/src/winres.c index 3829a267..90dc1385 100644 --- a/core/modules/run-virt/winres/src/winres.c +++ b/core/modules/run-virt/winres/src/winres.c @@ -1015,18 +1015,18 @@ static BOOL mountNetworkShare(const netdrive_t *d, BOOL useIp) share.lpLocalName = letter; share.lpRemoteName = path; share.lpProvider = NULL; - letter[1] = ':'; - letter[2] = 0; - letter[3] = 0; - if (letter[0] != 0 && letter[0] != '?') { + if (letter[0] != 0 && letter[0] != '?') { // ? will pick automatically // Try with specific letter - if (letter[0] == '-') { - // No letter, just use as resource - letter[0] = 0; - } else if (wcscmp(L"PRINTER", letter) == 0) { + if (wcscmp(L"PRINTER", letter) == 0) { // Printer letter[0] = 0; share.dwType = RESOURCETYPE_PRINT; + } else if (letter[0] == '-') { + // No letter, just use as resource + letter[0] = 0; + } else { + letter[1] = ':'; + letter[2] = 0; } // Connect defined share retval = mount(&share, pass, user); @@ -1040,8 +1040,10 @@ static BOOL mountNetworkShare(const netdrive_t *d, BOOL useIp) return FALSE; } } - if (share.dwType == RESOURCETYPE_DISK) { + if (share.dwType == RESOURCETYPE_DISK && letter[0] != '-') { // Try to find free drive letter + letter[1] = ':'; + letter[2] = 0; for (letter[0] = 'Z'; letter[0] > 'C'; --letter[0]) { retval = mount(&share, pass, user); if (retval == ERROR_ALREADY_ASSIGNED || retval == ERROR_DEVICE_ALREADY_REMEMBERED |