@@ -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