Skip to content

Commit 1712fd9

Browse files
authored
Merge pull request #697 from uyjulian/fix_ps2kbd_access
Fix USB keyboard access from EE
2 parents a47cb47 + d2be672 commit 1712fd9

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

ee/libcglue/src/cwd.c

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -71,19 +71,26 @@ int __get_drive(const char *dev, enum SeparatorType *usePOSIXSeparator)
7171
devname_len -= 1;
7272
}
7373

74-
/* We need to check if driver is cdrom because those one use \ as separator */
75-
if (devname_len == 5 && (memcmp(d, "cdrom", 5) == 0))
74+
*usePOSIXSeparator = SeparatorTypePOSIX;
75+
switch (devname_len)
7676
{
77-
*usePOSIXSeparator = SeparatorTypeWindows;
78-
}
79-
/* We need to check if drive is rom or hdd because those one don't have separator */
80-
else if (devname_len == 3 && ((memcmp(d, "rom", 3) == 0) || (memcmp(d, "hdd", 3) == 0)))
81-
{
82-
*usePOSIXSeparator = SeparatorTypeNone;
83-
}
84-
else
85-
{
86-
*usePOSIXSeparator = SeparatorTypePOSIX;
77+
case 3:
78+
/* These drivers don't have separator */
79+
if ((memcmp(d, "rom", devname_len) == 0) || (memcmp(d, "hdd", devname_len) == 0))
80+
*usePOSIXSeparator = SeparatorTypeNone;
81+
break;
82+
case 5:
83+
/* These drivers use \ as separator */
84+
if ((memcmp(d, "cdrom", devname_len) == 0))
85+
*usePOSIXSeparator = SeparatorTypeWindows;
86+
break;
87+
case 6:
88+
/* These drivers don't have separator */
89+
if ((memcmp(d, "usbkbd", devname_len) == 0))
90+
*usePOSIXSeparator = SeparatorTypeNone;
91+
break;
92+
default:
93+
break;
8794
}
8895

8996
/* Return the length of the whole device name portion, including:

0 commit comments

Comments
 (0)