X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=freeramdisk.c;h=cf25fae6abb61f6d0cf27ff0a0aa29ab039c1ab3;hb=ce4a586edb6abd90c1036666159f831bd2a58895;hp=4106cf1444724e2adfa02403872d3e9a924a031d;hpb=7ab9c7ee52db8759d457819f5480378fa3aa97cc;p=oweals%2Fbusybox.git diff --git a/freeramdisk.c b/freeramdisk.c index 4106cf144..cf25fae6a 100644 --- a/freeramdisk.c +++ b/freeramdisk.c @@ -23,46 +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" -#ifndef BB_FEATURE_TRIVIAL_HELP - "\nFrees all memory used by the specified ramdisk.\n" -#endif - ; +/* 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; } /*