X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=util-linux%2Ffdflush.c;h=f3afea3203f94274627948946cc9cb59b471d907;hb=5a62284972a46896cfa7364492caaef10cb83b6a;hp=201cea89879141702cce973cd4aeef4d57711522;hpb=298854f02963bd8e43dfeb7224d88cfeb0c932cb;p=oweals%2Fbusybox.git diff --git a/util-linux/fdflush.c b/util-linux/fdflush.c index 201cea898..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 "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"); - } + if (argc != 2) + bb_show_usage(); + + fd = bb_xopen(argv[1], 0); + + result = ioctl(fd, FDFLUSH, 0); - fd = open(*argv, 0); - if (fd < 0) { - perror(*argv); - exit(FALSE); + 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); - exit(FALSE); - } - exit(TRUE); + return EXIT_SUCCESS; }