Make cp and mv optionally preserve hard links.
[oweals/busybox.git] / util-linux / freeramdisk.c
index 22fc3e643ee61f5c5928791c772a27aa8e386b57..aabb5f98827641ed79ef3c6fa890f6a338c4158b 100644 (file)
@@ -27,6 +27,7 @@
 #include <fcntl.h>
 #include <sys/ioctl.h>
 #include <errno.h>
+#include <stdlib.h>
 #include "busybox.h"
 
 
 extern int
 freeramdisk_main(int argc, char **argv)
 {
-       int   f;
+       FILE *f;
 
        if (argc != 2 || *argv[1] == '-') {
-               usage(freeramdisk_usage);
+               show_usage();
        }
 
-       if ((f = open(argv[1], O_RDWR)) == -1) {
-               fatalError( "cannot open %s: %s\n", argv[1], strerror(errno));
-       }
-       if (ioctl(f, BLKFLSBUF) < 0) {
-               fatalError( "failed ioctl on %s: %s\n", argv[1], strerror(errno));
+       f = xfopen(argv[1], "r+");
+       
+       if (ioctl(fileno(f), BLKFLSBUF) < 0) {
+               perror_msg_and_die("failed ioctl on %s", argv[1]);
        }
        /* Don't bother closing.  Exit does
         * that, so we can save a few bytes */
        /* close(f); */
-       return(TRUE);
+       return EXIT_SUCCESS;
 }
 
 /*