- cp++;
- } else if (*cp != ':') {
-#endif
- /* default bootstrap unit and device */
- file->i_ino.i_dev = (bootdev >> B_TYPESHIFT) & B_TYPEMASK;
- file->i_unit = ((bootdev >> B_UNITSHIFT) & B_UNITMASK) +
- (8 * ((bootdev >> B_ADAPTORSHIFT) & B_ADAPTORMASK));
- file->i_boff = (bootdev >> B_PARTITIONSHIFT) & B_PARTITIONMASK;
- cp = str;
-#ifndef SMALL
- } else {
-# define isdigit(n) ((n>='0') && (n<='9'))
- if (cp == str)
- goto badspec;
- /*
- * syntax for possible device name:
- * <alpha-string><digit-string><letter>:
- */
- for (cp = str; *cp != ':' && !isdigit(*cp); cp++)
- ;
- if ((file->i_ino.i_dev = getdev(str, cp - str)) == -1)
+ for (++t; isspace(*t); ++t);
+ argp -= 4;
+ file->i_adapt = *argp++;
+ file->i_ctlr = *argp++;
+ file->i_unit = *argp++;
+ file->i_part = *argp;
+ break;
+ case ':': /* [A-Za-z]*[0-9]*[A-Za-z]:file */
+ for (t = str; *t != ':' && !isdigit(*t); ++t);
+ if ((file->i_ino.i_dev = getdev(str, t - str)) == -1)