diff --git a/usr.bin/fsync/Makefile b/usr.bin/fsync/Makefile index c9bc5249ee6f..42aa6ddec665 100644 --- a/usr.bin/fsync/Makefile +++ b/usr.bin/fsync/Makefile @@ -2,4 +2,5 @@ PROG= fsync +WARNS?= 6 .include diff --git a/usr.bin/fsync/fsync.c b/usr.bin/fsync/fsync.c index 95bacfb7c057..764e79db3efd 100644 --- a/usr.bin/fsync/fsync.c +++ b/usr.bin/fsync/fsync.c @@ -36,29 +36,36 @@ __FBSDID("$FreeBSD$"); #include #include -void usage(void); +static void usage(void); int main(int argc, char *argv[]) { int fd; int i; + int rval; if (argc < 2) usage(); + rval = 0; for (i = 1; i < argc; ++i) { - if ((fd = open(argv[i], O_RDONLY)) < 0) - err(1, "open %s", argv[i]); + if ((fd = open(argv[i], O_RDONLY)) < 0) { + warn("open %s", argv[i]); + rval = 1; + continue; + } - if (fsync(fd) != 0) - err(1, "fsync %s", argv[1]); + if (fsync(fd) != 0) { + warn("fsync %s", argv[i]); + rval = 1; + } close(fd); } - return(0); + return (rval); } -void +static void usage() { fprintf(stderr, "usage: fsync file ...\n");