X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=inline;f=freeramdisk.c;h=cf25fae6abb61f6d0cf27ff0a0aa29ab039c1ab3;hb=8e74bf94f36f254767da1f48d3752068e92aea46;hp=d373bcbf79f3d8a7e5725c5b295b6d028cf2d580;hpb=4f3f757d56fbf420ea5030dcf7ea971b3da3ab47;p=oweals%2Fbusybox.git diff --git a/freeramdisk.c b/freeramdisk.c index d373bcbf7..cf25fae6a 100644 --- a/freeramdisk.c +++ b/freeramdisk.c @@ -23,43 +23,36 @@ #include #include -#include #include -#include #include #include #include -#include "internal.h" +#include +#include "busybox.h" - -static const char freeramdisk_usage[] = - "freeramdisk DEVICE\n\n" - "Free all memory used by the specified ramdisk.\n"; +/* From linux/fs.h */ +#define BLKFLSBUF _IO(0x12,97) /* flush buffer cache */ extern int freeramdisk_main(int argc, char **argv) { - char rname[256] = "/dev/ram"; int f; - if (argc < 2 || ( argv[1] && *argv[1] == '-')) { - usage(freeramdisk_usage); + if (argc != 2 || *argv[1] == '-') { + show_usage(); } - if (argc >1) - strcpy(rname, argv[1]); - - if ((f = open(rname, O_RDWR)) == -1) { - fatalError( "freeramdisk: cannot open %s: %s\n", rname, strerror(errno)); + if ((f = open(argv[1], O_RDWR)) == -1) { + perror_msg_and_die("cannot open %s", argv[1]); } if (ioctl(f, BLKFLSBUF) < 0) { - fatalError( "freeramdisk: failed ioctl on %s: %s\n", rname, strerror(errno)); + 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); */ - exit(TRUE); + return EXIT_SUCCESS; } /*