summaryrefslogtreecommitdiffstats
path: root/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'util.c')
-rw-r--r--util.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/util.c b/util.c
index dedb9db..02535d2 100644
--- a/util.c
+++ b/util.c
@@ -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;