summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/os2.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/os2.cpp b/src/os2.cpp
index 6f7da9a41..9b08e9514 100644
--- a/src/os2.cpp
+++ b/src/os2.cpp
@@ -44,6 +44,8 @@ void FiosGetDrives()
_dos_getdrive(&save); // save original drive
#else
save = _getdrive(); // save original drive
+ char wd[MAX_PATH];
+ getcwd(wd, MAX_PATH);
total = 'z';
#endif
@@ -55,7 +57,7 @@ void FiosGetDrives()
for (disk = 'A';; disk++) {
_chdrive(disk);
#endif
- if (disk >= total) return;
+ if (disk >= total) break;
#ifndef __INNOTEK_LIBC__
_dos_getdrive(&disk2);
@@ -80,7 +82,7 @@ void FiosGetDrives()
#ifndef __INNOTEK_LIBC__
_dos_setdrive(save, &total);
#else
- _chdrive(save);
+ chdir(wd);
#endif
}