summaryrefslogtreecommitdiff
path: root/cmds-device.c
diff options
context:
space:
mode:
Diffstat (limited to 'cmds-device.c')
-rw-r--r--cmds-device.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/cmds-device.c b/cmds-device.c
index d4938f4e..198ad689 100644
--- a/cmds-device.c
+++ b/cmds-device.c
@@ -87,9 +87,8 @@ static int cmd_add_dev(int argc, char **argv)
}
devfd = open(argv[i], O_RDWR);
- if (!devfd) {
+ if (devfd < 0) {
fprintf(stderr, "ERROR: Unable to open device '%s'\n", argv[i]);
- close(devfd);
ret++;
continue;
}
@@ -117,8 +116,7 @@ static int cmd_add_dev(int argc, char **argv)
}
close(devfd);
- strncpy(ioctl_args.name, argv[i], BTRFS_PATH_NAME_MAX);
- ioctl_args.name[BTRFS_PATH_NAME_MAX-1] = 0;
+ strncpy_null(ioctl_args.name, argv[i]);
res = ioctl(fdmnt, BTRFS_IOC_ADD_DEV, &ioctl_args);
e = errno;
if(res<0){
@@ -162,8 +160,7 @@ static int cmd_rm_dev(int argc, char **argv)
struct btrfs_ioctl_vol_args arg;
int res;
- strncpy(arg.name, argv[i], BTRFS_PATH_NAME_MAX);
- arg.name[BTRFS_PATH_NAME_MAX-1] = 0;
+ strncpy_null(arg.name, argv[i]);
res = ioctl(fdmnt, BTRFS_IOC_RM_DEV, &arg);
e = errno;
if(res<0){
@@ -228,8 +225,7 @@ static int cmd_scan_dev(int argc, char **argv)
printf("Scanning for Btrfs filesystems in '%s'\n", argv[i]);
- strncpy(args.name, argv[i], BTRFS_PATH_NAME_MAX);
- args.name[BTRFS_PATH_NAME_MAX-1] = 0;
+ strncpy_null(args.name, argv[i]);
/*
* FIXME: which are the error code returned by this ioctl ?
* it seems that is impossible to understand if there no is