X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=util-linux%2Ffdflush.c;h=c3fcf3325c3e1fc08293a2a71dd57d99f1e70b7e;hb=50547c07451d07178eeb64e7d8637952b427bd4c;hp=56ea2244d7444189fb2b13c16325c608268a695e;hpb=9cf3bfa7c1bf3ad959c61711c9a5ac1969149300;p=oweals%2Fbusybox.git diff --git a/util-linux/fdflush.c b/util-linux/fdflush.c index 56ea2244d..c3fcf3325 100644 --- a/util-linux/fdflush.c +++ b/util-linux/fdflush.c @@ -2,8 +2,8 @@ /* * Mini fdflush implementation for busybox * - * - * Copyright (C) 1995, 1996 by Bruce Perens . + * Copyright (C) 1995, 1996 by Bruce Perens . + * Copyright (C) 2003 by Erik Andersen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -21,36 +21,34 @@ * */ -#include "internal.h" #include #include -#include #include +#include +#include +#include "busybox.h" +/* From */ +#define FDFLUSH _IO(2,0x4b) extern int fdflush_main(int argc, char **argv) { - int value; - int fd; + int fd, result; - if (argc <= 1 || **(++argv) == '-') { - usage("fdflush device\n\nForce floppy disk drive to detect disk change\n"); - } + if (argc <= 1) + bb_show_usage(); + + fd = bb_xopen(argv[1], 0); - fd = open(*argv, 0); - if (fd < 0) { - perror(*argv); - exit(FALSE); + result = ioctl(fd, FDFLUSH, 0); +#ifdef CONFIG_FEATURE_CLEAN_UP + close(fd); +#endif + if (result) { + bb_perror_nomsg_and_die(); } - value = ioctl(fd, FDFLUSH, 0); /* Don't bother closing. Exit does * that, so we can save a few bytes */ - /* close(fd); */ - - if (value) { - perror(*argv); - exit(FALSE); - } - exit(TRUE); + return EXIT_SUCCESS; }