Whamcloud - gitweb
e2fsck: Fix directory i_size handling
[tools/e2fsprogs.git] / misc / base_device.c
index 03008cb..6237d0e 100644 (file)
@@ -38,7 +38,7 @@ static const char *devfs_hier[] = {
        "host", "bus", "target", "lun", 0
 };
 
-char *base_device(char *device)
+char *base_device(const char *device)
 {
        char *str, *cp;
        const char **hier, *disk;
@@ -68,6 +68,16 @@ char *base_device(char *device)
                return str;
        }
 
+       /* Handle DAC 960 devices */
+       if (strncmp(cp, "rd/", 3) == 0) {
+               cp += 3;
+               if (cp[0] != 'c' || cp[2] != 'd' ||
+                   !isdigit(cp[1]) || !isdigit(cp[3]))
+                       goto errout;
+               *(cp+4) = 0;
+               return str;
+       }
+
        /* Now let's handle /dev/hd* and /dev/sd* devices.... */
        if ((cp[0] == 'h' || cp[0] == 's') && (cp[1] == 'd')) {
                cp += 2;
@@ -137,8 +147,7 @@ errout:
 }
 
 #ifdef DEBUG
-
-main(int argc, char** argv)
+int main(int argc, char** argv)
 {
        const char *base;
        char  buf[256], *cp;
@@ -157,5 +166,4 @@ main(int argc, char** argv)
        }
        exit(0);
 }
-
 #endif