diff --git a/common/filetype.c b/common/filetype.c index dc2ff3f..9ec8ebf 100644 --- a/common/filetype.c +++ b/common/filetype.c @@ -369,9 +369,10 @@ struct cdev *cdev; void *buf; - cdev = cdev_by_name(name); + cdev = cdev_open(name, O_RDONLY); if (!cdev) return type; + buf = xzalloc(FILE_TYPE_SAFE_BUFSIZE); ret = cdev_read(cdev, buf, FILE_TYPE_SAFE_BUFSIZE, 0, 0); if (ret < 0) @@ -396,5 +397,6 @@ err_out: free(buf); + cdev_close(cdev); return type; } diff --git a/fs/fs.c b/fs/fs.c index c2a20e1..2d7578b 100644 --- a/fs/fs.c +++ b/fs/fs.c @@ -1205,8 +1205,6 @@ struct driver_d *drv; struct fs_driver_d *fdrv; - if (!strncmp(filename, "/dev/", 5)) - filename += 5; type = cdev_detect_type(filename); if (type == filetype_unknown)