summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/path.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/path.cc')
-rw-r--r--winsup/cygwin/path.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index 241660885..92fb00d9f 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -903,17 +903,19 @@ win32_device_name (const char *src_path, char *win32_path, device& dev)
if (dev.devn == FH_FS)
return false;
- switch (dev.devn)
+ switch (dev.major)
{
- case FH_TAPE:
+ case DEV_TAPE_MAJOR:
__small_sprintf (win32_path, dev.fmt, dev.minor % 128);
break;
- case FH_RAWDRIVE:
- __small_sprintf (win32_path, dev.fmt, dev.minor - 224 + 'A');
+ case DEV_RAWDRIVE_MAJOR:
+ __small_sprintf (win32_path, dev.fmt, dev.minor + 'A');
+ break;
+ case DEV_SD_MAJOR:
+ __small_sprintf (win32_path, dev.fmt, dev.minor / 16, dev.minor % 16);
break;
default:
__small_sprintf (win32_path, dev.fmt, dev.minor);
- break;
}
return true;
}