X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=util-linux%2Ffdflush.c;h=c3fcf3325c3e1fc08293a2a71dd57d99f1e70b7e;hb=50547c07451d07178eeb64e7d8637952b427bd4c;hp=51b0c2baca4260f57eeb6c99dd24be183bae0c5c;hpb=c49960189a04b73e033016bd0f43fbb950f800e1;p=oweals%2Fbusybox.git diff --git a/util-linux/fdflush.c b/util-linux/fdflush.c index 51b0c2bac..c3fcf3325 100644 --- a/util-linux/fdflush.c +++ b/util-linux/fdflush.c @@ -1,8 +1,9 @@ +/* vi: set sw=4 ts=4: */ /* * 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 @@ -20,33 +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; - if ( **(argv+1) == '-' ) { - usage( "fdflush device\n"); - } + int fd, result; + + if (argc <= 1) + bb_show_usage(); - fd = open(*argv, 0); - if ( fd < 0 ) { - perror(*argv); - exit(FALSE); - } + fd = bb_xopen(argv[1], 0); - value = ioctl(fd, FDFLUSH, 0); - close(fd); + result = ioctl(fd, FDFLUSH, 0); +#ifdef CONFIG_FEATURE_CLEAN_UP + close(fd); +#endif + if (result) { + bb_perror_nomsg_and_die(); + } - if ( value ) { - perror(*argv); - exit(FALSE); - } - exit (TRUE); + /* Don't bother closing. Exit does + * that, so we can save a few bytes */ + return EXIT_SUCCESS; }