diff options
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -950,10 +950,9 @@ int dev_open(char *dev, int flags) return fd; } -int dev_open_check(char *devname, int flags) +int dev_open_check(char *devname, int flags, struct stat *stb) { int dfd; - struct stat stb; dfd = dev_open(devname, flags); if (dfd < 0) { @@ -961,13 +960,13 @@ int dev_open_check(char *devname, int flags) devname, strerror(errno)); return -1; } - if (fstat(dfd, &stb) < 0) { + if (fstat(dfd, stb) < 0) { fprintf(stderr, Name ": fstat failed on %s: %s.\n", devname, strerror(errno)); close(dfd); return -1; } - if ((stb.st_mode & S_IFMT) != S_IFBLK) { + if ((stb->st_mode & S_IFMT) != S_IFBLK) { fprintf(stderr, Name ": %s is not a block device.\n", devname); close(dfd); return -1; |