X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=util-linux%2Ffdflush.c;h=f3afea3203f94274627948946cc9cb59b471d907;hb=5a62284972a46896cfa7364492caaef10cb83b6a;hp=380015ddec2567f8b46e8de383e37c160ace3443;hpb=3e856ce428cabaf6c8d99a2374a1f9a4a05db5f0;p=oweals%2Fbusybox.git diff --git a/util-linux/fdflush.c b/util-linux/fdflush.c index 380015dde..f3afea320 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 "busybox.h" #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 != 2) + bb_show_usage(); - if (argc <= 1 || **(++argv) == '-') - usage(fdflush_usage); + fd = bb_xopen(argv[1], 0); - fd = open(*argv, 0); - if (fd < 0) { - perror(*argv); - return EXIT_FAILURE; + result = ioctl(fd, FDFLUSH, 0); + + if (ENABLE_FEATURE_CLEAN_UP) close(fd); + + 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); - return EXIT_FAILURE; - } return EXIT_SUCCESS; }