diff options
Diffstat (limited to 'fdflush.c')
-rw-r--r-- | fdflush.c | 36 |
1 files changed, 19 insertions, 17 deletions
@@ -1,3 +1,4 @@ | |||
1 | /* vi: set sw=4 ts=4: */ | ||
1 | /* | 2 | /* |
2 | * Mini fdflush implementation for busybox | 3 | * Mini fdflush implementation for busybox |
3 | * | 4 | * |
@@ -29,24 +30,25 @@ | |||
29 | 30 | ||
30 | extern int fdflush_main(int argc, char **argv) | 31 | extern int fdflush_main(int argc, char **argv) |
31 | { | 32 | { |
32 | int value; | 33 | int value; |
33 | int fd; | 34 | int fd; |
34 | if ( argc <= 1 || **(argv++) == '-' ) { | ||
35 | usage( "fdflush device\n"); | ||
36 | } | ||
37 | 35 | ||
38 | fd = open(*argv, 0); | 36 | if (argc <= 1 || **(argv++) == '-') { |
39 | if ( fd < 0 ) { | 37 | usage("fdflush device\n"); |
40 | perror(*argv); | 38 | } |
41 | exit(FALSE); | ||
42 | } | ||
43 | 39 | ||
44 | value = ioctl(fd, FDFLUSH, 0); | 40 | fd = open(*argv, 0); |
45 | close(fd); | 41 | if (fd < 0) { |
42 | perror(*argv); | ||
43 | exit(FALSE); | ||
44 | } | ||
46 | 45 | ||
47 | if ( value ) { | 46 | value = ioctl(fd, FDFLUSH, 0); |
48 | perror(*argv); | 47 | close(fd); |
49 | exit(FALSE); | 48 | |
50 | } | 49 | if (value) { |
51 | exit (TRUE); | 50 | perror(*argv); |
51 | exit(FALSE); | ||
52 | } | ||
53 | exit(TRUE); | ||
52 | } | 54 | } |