aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--freeramdisk.c9
-rw-r--r--util-linux/freeramdisk.c9
2 files changed, 8 insertions, 10 deletions
diff --git a/freeramdisk.c b/freeramdisk.c
index cf25fae6a..aabb5f988 100644
--- a/freeramdisk.c
+++ b/freeramdisk.c
@@ -37,16 +37,15 @@
37extern int 37extern int
38freeramdisk_main(int argc, char **argv) 38freeramdisk_main(int argc, char **argv)
39{ 39{
40 int f; 40 FILE *f;
41 41
42 if (argc != 2 || *argv[1] == '-') { 42 if (argc != 2 || *argv[1] == '-') {
43 show_usage(); 43 show_usage();
44 } 44 }
45 45
46 if ((f = open(argv[1], O_RDWR)) == -1) { 46 f = xfopen(argv[1], "r+");
47 perror_msg_and_die("cannot open %s", argv[1]); 47
48 } 48 if (ioctl(fileno(f), BLKFLSBUF) < 0) {
49 if (ioctl(f, BLKFLSBUF) < 0) {
50 perror_msg_and_die("failed ioctl on %s", argv[1]); 49 perror_msg_and_die("failed ioctl on %s", argv[1]);
51 } 50 }
52 /* Don't bother closing. Exit does 51 /* Don't bother closing. Exit does
diff --git a/util-linux/freeramdisk.c b/util-linux/freeramdisk.c
index cf25fae6a..aabb5f988 100644
--- a/util-linux/freeramdisk.c
+++ b/util-linux/freeramdisk.c
@@ -37,16 +37,15 @@
37extern int 37extern int
38freeramdisk_main(int argc, char **argv) 38freeramdisk_main(int argc, char **argv)
39{ 39{
40 int f; 40 FILE *f;
41 41
42 if (argc != 2 || *argv[1] == '-') { 42 if (argc != 2 || *argv[1] == '-') {
43 show_usage(); 43 show_usage();
44 } 44 }
45 45
46 if ((f = open(argv[1], O_RDWR)) == -1) { 46 f = xfopen(argv[1], "r+");
47 perror_msg_and_die("cannot open %s", argv[1]); 47
48 } 48 if (ioctl(fileno(f), BLKFLSBUF) < 0) {
49 if (ioctl(f, BLKFLSBUF) < 0) {
50 perror_msg_and_die("failed ioctl on %s", argv[1]); 49 perror_msg_and_die("failed ioctl on %s", argv[1]);
51 } 50 }
52 /* Don't bother closing. Exit does 51 /* Don't bother closing. Exit does