- else if (strncmp (devname, "scsi/", 5) == 0)
- { /* All SCSI devices */
- if (strcmp (devname + namelen - 7, "generic") == 0)
- {
- sprintf (buffer, "sg%u", minor);
- compat_name = buffer;
- }
- else if (strncmp (ptr = (strrchr (devname, '/') + 1), "mt", 2) == 0)
- {
- char mode = ptr[2];
-
- if (mode == 'n')
- mode = '\0';
- sprintf (buffer, "nst%u%c", minor & 0x1f, mode);
- compat_name = buffer;
- if (devname[namelen - 1] != 'n')
- ++compat_name;
- }
- else if (strcmp (devname + namelen - 2, "cd") == 0)
- {
- sprintf (buffer, "sr%u", minor);
- compat_name = buffer;
- }
- else if (strcmp (devname + namelen - 4, "disc") == 0)
- compat_name = write_old_sd_name (buffer, major, minor, "");
- else if (strncmp (ptr = (strrchr (devname, '/') + 1), "part", 4) == 0)
- compat_name = write_old_sd_name (buffer, major, minor, ptr + 4);
- return (compat_name);
- }
- else if (strncmp (devname, "ide/host", 8) == 0)
- { /* All IDE devices */
- if (strncmp (ptr = (strrchr (devname, '/') + 1), "mt", 2) == 0)
- {
- sprintf (buffer, "%sht%d", ptr + 2, minor & 0x7f);
- compat_name = buffer;
- }
- else if (strcmp (devname + namelen - 4, "disc") == 0)
- {
- sprintf ( buffer, "hd%c", get_old_ide_name (major, minor) );
- compat_name = buffer;
- }
- else if (strncmp (ptr = (strrchr (devname, '/') + 1), "part", 4) == 0)
- {
- sprintf (buffer, "hd%c%s", get_old_ide_name (major, minor), ptr + 4);
- compat_name = buffer;
- }
- else if (strcmp (devname + namelen - 2, "cd") == 0)
- {
- sprintf ( buffer, "hd%c", get_old_ide_name (major, minor) );
- compat_name = buffer;
- }
- return (compat_name);
- }
- else if (strncmp (devname, "vcc/", 4) == 0)
+ /* 6 == ide/host/disc, 7 == ide/host/cd, 8 == ide/host/part */
+ if( i == 6 || i == 7 || i == 8 )
+ sprintf (buffer, fmt[i] , get_old_ide_name (major, minor), ptr + 4); /* last arg should be ignored for i == 6 or i== 7 */
+
+ /* 9 == ide/host/mt */
+ if( i == 9 )
+ sprintf (buffer, fmt[i], ptr + 2, minor & 0x7f);
+
+ /* 11 == vcc/ */
+ if( i == 11 )